DeadlineCloud / Client / create_queue

create_queue

DeadlineCloud.Client.create_queue(**kwargs)

Creates a queue to coordinate the order in which jobs run on a farm. A queue can also specify where to pull resources and indicate where to output completed jobs.

See also: AWS API Documentation

Request Syntax

response = client.create_queue(
    farmId='string',
    clientToken='string',
    displayName='string',
    description='string',
    defaultBudgetAction='NONE'|'STOP_SCHEDULING_AND_COMPLETE_TASKS'|'STOP_SCHEDULING_AND_CANCEL_TASKS',
    jobAttachmentSettings={
        's3BucketName': 'string',
        'rootPrefix': 'string'
    },
    roleArn='string',
    jobRunAsUser={
        'posix': {
            'user': 'string',
            'group': 'string'
        },
        'windows': {
            'user': 'string',
            'passwordArn': 'string'
        },
        'runAs': 'QUEUE_CONFIGURED_USER'|'WORKER_AGENT_USER'
    },
    requiredFileSystemLocationNames=[
        'string',
    ],
    allowedStorageProfileIds=[
        'string',
    ],
    tags={
        'string': 'string'
    },
    schedulingConfiguration={
        'priorityFifo': {}
        ,
        'priorityBalanced': {
            'renderingTaskBuffer': 123
        },
        'weightedBalanced': {
            'priorityWeight': 123.0,
            'errorWeight': 123.0,
            'submissionTimeWeight': 123.0,
            'renderingTaskWeight': 123.0,
            'renderingTaskBuffer': 123,
            'maxPriorityOverride': {
                'alwaysScheduleFirst': {}

            },
            'minPriorityOverride': {
                'alwaysScheduleLast': {}

            }
        }
    }
)
Parameters:
  • farmId (string) –

    [REQUIRED]

    The farm ID of the farm to connect to the queue.

  • clientToken (string) –

    The unique token which the server uses to recognize retries of the same request.

    This field is autopopulated if not provided.

  • displayName (string) –

    [REQUIRED]

    The display name of the queue.

    Warning

    This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

  • description (string) –

    The description of the queue.

    Warning

    This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

  • defaultBudgetAction (string) – The default action to take on a queue if a budget isn’t configured.

  • jobAttachmentSettings (dict) –

    The job attachment settings for the queue. These are the Amazon S3 bucket name and the Amazon S3 prefix.

    • s3BucketName (string) – [REQUIRED]

      The Amazon S3 bucket name.

    • rootPrefix (string) – [REQUIRED]

      The root prefix.

  • roleArn (string) – The IAM role ARN that workers will use while running jobs for this queue.

  • jobRunAsUser (dict) –

    The jobs in the queue run as the specified POSIX user.

    • posix (dict) –

      The user and group that the jobs in the queue run as.

      • user (string) – [REQUIRED]

        The name of the POSIX user.

      • group (string) – [REQUIRED]

        The name of the POSIX user’s group.

    • windows (dict) –

      Identifies a Microsoft Windows user.

      • user (string) – [REQUIRED]

        The user.

      • passwordArn (string) – [REQUIRED]

        The password ARN for the Windows user.

    • runAs (string) – [REQUIRED]

      Specifies whether the job should run using the queue’s system user or if the job should run using the worker agent system user.

  • requiredFileSystemLocationNames (list) –

    The file system location name to include in the queue.

    • (string) –

  • allowedStorageProfileIds (list) –

    The storage profile IDs to include in the queue.

    • (string) –

  • tags (dict) –

    Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.

    • (string) –

      • (string) –

  • schedulingConfiguration (dict) –

    The scheduling configuration for the queue. This configuration determines how workers are assigned to jobs in the queue.

    If not specified, the queue defaults to the priorityFifo scheduling configuration.

    Note

    This is a Tagged Union structure. Only one of the following top level keys can be set: priorityFifo, priorityBalanced, weightedBalanced.

    • priorityFifo (dict) –

      Workers are assigned to the highest-priority job first. When multiple jobs share the same priority, the job submitted earliest receives workers first. This is the default scheduling configuration for new queues.

    • priorityBalanced (dict) –

      Workers are distributed evenly across all jobs at the highest priority level. When workers cannot be evenly divided, the extra workers are assigned to the jobs submitted earliest. If a job has fewer remaining tasks than its share of workers, the surplus workers are redistributed to other jobs at the same priority level.

      • renderingTaskBuffer (integer) –

        The rendering task buffer controls worker stickiness. A worker only switches from its current job to another job at the same priority if the other job has fewer rendering tasks by more than this buffer value. Higher values make workers stickier to their current jobs. The default value is 1.

    • weightedBalanced (dict) –

      Workers are assigned to jobs based on a weighted formula that considers job priority, error count, submission time, and the number of tasks currently rendering. Each factor has a configurable weight that determines its influence on scheduling decisions.

      • priorityWeight (float) –

        The weight applied to job priority in the scheduling formula. Higher values give more influence to job priority. A value of 0 means priority is ignored. The default value is 100.0.

      • errorWeight (float) –

        The weight applied to the number of errors on a job. A negative value means jobs without errors are scheduled first. A value of 0 means errors are ignored. The default value is -10.0.

      • submissionTimeWeight (float) –

        The weight applied to job submission time. A positive value means earlier jobs are scheduled first. A value of 0 means submission time is ignored. The default value is 3.0.

      • renderingTaskWeight (float) –

        The weight applied to the number of tasks currently rendering on a job. A negative value means jobs that are not already rendering are scheduled next. A value of 0 means the rendering state is ignored. The default value is -100.0.

      • renderingTaskBuffer (integer) –

        The rendering task buffer is subtracted from the number of rendering tasks before applying the rendering task weight. This creates a stickiness effect where workers prefer to stay with their current job. Higher values make workers stickier. The default value is 1. The buffer is only applied in the weight calculation for a job if the worker is currently assigned to that job.

      • maxPriorityOverride (dict) –

        Overrides the weighted scheduling formula for jobs at the maximum priority (100). When set, jobs with priority 100 are always scheduled first regardless of their calculated weight. When absent, maximum priority jobs use the standard weighted formula.

        Note

        This is a Tagged Union structure. Only one of the following top level keys can be set: alwaysScheduleFirst.

        • alwaysScheduleFirst (dict) –

          Jobs at the maximum priority (100) are always scheduled before other jobs, regardless of the weighted scheduling formula. If multiple jobs have priority 100, ties are broken using the standard weighted formula.

      • minPriorityOverride (dict) –

        Overrides the weighted scheduling formula for jobs at the minimum priority (0). When set, jobs with priority 0 are always scheduled last regardless of their calculated weight. When absent, minimum priority jobs use the standard weighted formula.

        Note

        This is a Tagged Union structure. Only one of the following top level keys can be set: alwaysScheduleLast.

        • alwaysScheduleLast (dict) –

          Jobs at the minimum priority (0) are always scheduled after all other jobs, regardless of the weighted scheduling formula. If multiple jobs have priority 0, ties are broken using the standard weighted formula.

Return type:

dict

Returns:

Response Syntax

{
    'queueId': 'string'
}

Response Structure

  • (dict) –

    Mixin that adds an optional ARN field to response structures. Apply to SummaryMixins (flows into Get, Summary, and BatchGet) and Create outputs.

    • queueId (string) –

      The queue ID.

Exceptions

  • DeadlineCloud.Client.exceptions.AccessDeniedException

  • DeadlineCloud.Client.exceptions.InternalServerErrorException

  • DeadlineCloud.Client.exceptions.ResourceNotFoundException

  • DeadlineCloud.Client.exceptions.ThrottlingException

  • DeadlineCloud.Client.exceptions.ValidationException

  • DeadlineCloud.Client.exceptions.ServiceQuotaExceededException