# JobQueueProps

Props to configure a JobQueue.

Extends: JobQueueProps
Used as props by: JobQueue

- Source: [`aws-batch/lib/job-queue.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-batch/lib/job-queue.ts#L84)
- Type last changed: v2.234.0 · 8 Jan 2026

## Example

```ts
declare const vpc: ec2.IVpc;

const ecsJob = new batch.EcsJobDefinition(this, 'JobDefn', {
  container: new batch.EcsEc2ContainerDefinition(this, 'containerDefn', {
    image: ecs.ContainerImage.fromRegistry('public.ecr.aws/amazonlinux/amazonlinux:latest'),
    memory: cdk.Size.mebibytes(2048),
    cpu: 256,
  }),
});

const queue = new batch.JobQueue(this, 'JobQueue', {
  computeEnvironments: [{
    computeEnvironment: new batch.ManagedEc2EcsComputeEnvironment(this, 'managedEc2CE', {
      vpc,
    }),
    order: 1,
  }],
  priority: 10,
});

const user = new iam.User(this, 'MyUser');
ecsJob.grantSubmitJob(user, queue);
```

## Properties

- `computeEnvironments`: [OrderedComputeEnvironment](/cdk/api/v2/docs/aws-cdk-lib.aws_batch.OrderedComputeEnvironment.html)[] = none — The set of compute environments mapped to a job queue and their order relative to each other.

  The job scheduler uses this parameter to determine which compute environment runs a specific job.
  Compute environments must be in the VALID state before you can associate them with a job queue.
  You can associate up to three compute environments with a job queue.
  All of the compute environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT);
  EC2 and Fargate compute environments can't be mixed.

  *Note*: All compute environments that are associated with a job queue must share the same architecture.
  AWS Batch doesn't support mixing compute environment architecture types in a single job queue.

- `enabled`: boolean = true — If the job queue is enabled, it is able to accept jobs.

  Otherwise, new jobs can't be added to the queue, but jobs already in the queue can finish.

- `jobQueueName`: string — The name of the job queue.

  **Default:** no name

  It can be up to 128 letters long.
  It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_)

- `jobStateTimeLimitActions`: [JobStateTimeLimitAction](/cdk/api/v2/docs/aws-cdk-lib.aws_batch.JobStateTimeLimitAction.html)[] — The set of actions that AWS Batch perform on jobs that remain at the head of the job queue in the specified state longer than specified times.

  **Default:** no actions

- `priority`: number = 1 — The priority of the job queue.

  Job queues with a higher priority are evaluated first when associated with the same compute environment.
  Priority is determined in descending order.
  For example, a job queue with a priority of 10 is given scheduling preference over a job queue with a priority of 1.

- `schedulingPolicy`: [ISchedulingPolicyRef](/cdk/api/v2/docs/aws-cdk-lib.interfaces.aws_batch.ISchedulingPolicyRef.html) — The SchedulingPolicy for this JobQueue.

  **Default:** no scheduling policy

  Instructs the Scheduler how to schedule different jobs.
