Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/cloudflare/workers-sdk/llms.txt

Use this file to discover all available pages before exploring further.

Workers Queues allow you to send and receive messages with guaranteed delivery. Use these commands to manage your queues, consumers, and event subscriptions.

create

Create a new queue.
wrangler queues create <name> [options]
name
string
required
The name of the queue to create

Options

--delivery-delay-secs
number
How long a published message should be delayed for, in seconds. Must be between 0 and 43200 (12 hours)
--message-retention-period-secs
number
How long to retain a message in the queue, in seconds. Must be between 60 and 86400 if on free tier, otherwise must be between 60 and 1209600 (14 days)

Example

wrangler queues create my-queue
After creation, configure your Worker to use the queue:
wrangler.json
{
  "queues": {
    "producers": [
      {
        "queue": "my-queue",
        "binding": "MY_QUEUE"
      }
    ]
  }
}

delete

Delete a queue.
wrangler queues delete <name>
name
string
required
The name of the queue to delete

Example

wrangler queues delete my-queue

list

List all queues in your account.
wrangler queues list [options]

Options

--page
number
Page number for pagination

Example

wrangler queues list

info

Get detailed information about a queue.
wrangler queues info <name>
name
string
required
The name of the queue

Example

wrangler queues info my-queue
Displays queue information including:
  • Queue ID and name
  • Creation and modification timestamps
  • Number of producers and consumers
  • Consumer details (Worker consumers or HTTP Pull consumers)

update

Update queue settings.
wrangler queues update <name> [options]
name
string
required
The name of the queue to update

Options

--delivery-delay-secs
number
How long a published message should be delayed for, in seconds. Must be between 0 and 43200
--message-retention-period-secs
number
How long to retain a message in the queue, in seconds. Must be between 60 and 86400 if on free tier, otherwise must be between 60 and 1209600

Example

wrangler queues update my-queue --delivery-delay-secs 10

pause

Pause message delivery for a queue.
wrangler queues pause <name>
name
string
required
The name of the queue to pause

Example

wrangler queues pause my-queue

resume

Resume message delivery for a paused queue.
wrangler queues resume <name>
name
string
required
The name of the queue to resume

Example

wrangler queues resume my-queue

purge

Purge all messages from a queue.
wrangler queues purge <name> [options]
name
string
required
The name of the queue to purge

Options

--force
boolean
Skip the confirmation dialog and forcefully purge the queue

Example

wrangler queues purge my-queue
This operation permanently deletes all messages in the queue and cannot be undone.

consumer worker

Manage Worker consumers for a queue.
Add a Worker consumer to a queue.
wrangler queues consumer worker add <queue-name> <script-name> [options]
queue-name
string
required
Name of the queue to configure
script-name
string
required
Name of the consumer Worker script

Options

--batch-size
number
Maximum number of messages per batch
--batch-timeout
number
Maximum number of seconds to wait to fill a batch with messages
--message-retries
number
Maximum number of retries for each message
--dead-letter-queue
string
Queue to send messages that failed to be consumed
--max-concurrency
number
The maximum number of concurrent consumer Worker invocations. Must be a positive integer
--retry-delay-secs
number
The number of seconds to wait before retrying a message

Example

wrangler queues consumer worker add my-queue my-consumer --batch-size 10 --max-concurrency 5
Remove a Worker consumer from a queue.
wrangler queues consumer worker remove <queue-name> <script-name>
queue-name
string
required
Name of the queue to configure
script-name
string
required
Name of the consumer Worker script to remove

Example

wrangler queues consumer worker remove my-queue my-consumer

consumer http-pull

Manage HTTP Pull consumers for a queue.
Add an HTTP Pull consumer to a queue.
wrangler queues consumer http-pull add <queue-name> [options]
queue-name
string
required
Name of the queue for the consumer

Options

--batch-size
number
Maximum number of messages per batch
--message-retries
number
Maximum number of retries for each message
--dead-letter-queue
string
Queue to send messages that failed to be consumed
--visibility-timeout-secs
number
The number of seconds a message will wait for an acknowledgement before being returned to the queue
--retry-delay-secs
number
The number of seconds to wait before retrying a message

Example

wrangler queues consumer http-pull add my-queue --batch-size 10
Remove an HTTP Pull consumer from a queue.
wrangler queues consumer http-pull remove <queue-name>
queue-name
string
required
Name of the queue for the consumer

Example

wrangler queues consumer http-pull remove my-queue

subscription

Manage event subscriptions for a queue.
Create a new event subscription for a queue.
wrangler queues subscription create <queue> [options]
queue
string
required
The name of the queue to create the subscription for

Options

--source
string
required
The event source type. Valid values:
  • kv.namespace
  • r2.bucket
  • superSlurper.job
  • vectorize.index
  • workersAi.model
  • workersBuilds.worker
  • workflows.workflow
--events
string
required
Comma-separated list of event types to subscribe to
--name
string
Name for the subscription (auto-generated if not provided)
--enabled
boolean
default:"true"
Whether the subscription should be active
--model-name
string
Workers AI model name (required for workersAi.model source)
--worker-name
string
Worker name (required for workersBuilds.worker source)
--workflow-name
string
Workflow name (required for workflows.workflow source)

Example

wrangler queues subscription create my-queue --source r2.bucket --events object.create,object.delete
Delete an event subscription from a queue.
wrangler queues subscription delete <queue> [options]
queue
string
required
The name of the queue

Options

--id
string
required
The ID of the subscription to delete
--force
boolean
default:"false"
Skip confirmation

Example

wrangler queues subscription delete my-queue --id abc123
List event subscriptions for a queue.
wrangler queues subscription list <queue> [options]
queue
string
required
The name of the queue to list subscriptions for

Options

--page
number
default:"1"
Page number for pagination
--per-page
number
default:"20"
Number of subscriptions per page
--json
boolean
default:"false"
Output in JSON format

Example

wrangler queues subscription list my-queue
Get details about a specific event subscription.
wrangler queues subscription get <queue> [options]
queue
string
required
The name of the queue

Options

--id
string
required
The ID of the subscription to retrieve
--json
boolean
default:"false"
Output in JSON format

Example

wrangler queues subscription get my-queue --id abc123
Update an existing event subscription.
wrangler queues subscription update <queue> [options]
queue
string
required
The name of the queue

Options

--id
string
required
The ID of the subscription to update
--name
string
New name for the subscription
--events
string
Comma-separated list of event types to subscribe to
--enabled
boolean
Whether the subscription should be active
--json
boolean
default:"false"
Output in JSON format

Example

wrangler queues subscription update my-queue --id abc123 --enabled false

Configuration

Configure queues in your Worker configuration file:

Producer Configuration

wrangler.json
{
  "queues": {
    "producers": [
      {
        "queue": "my-queue",
        "binding": "MY_QUEUE"
      }
    ]
  }
}

Consumer Configuration

wrangler.json
{
  "queues": {
    "consumers": [
      {
        "queue": "my-queue",
        "max_batch_size": 10,
        "max_batch_timeout": 30,
        "max_retries": 3,
        "dead_letter_queue": "my-dlq"
      }
    ]
  }
}

Build docs developers (and LLMs) love