cf_queue_create
cf_queue_create asynchronously creates a Queue when it does not exist and reconciles every queue-level setting exposed by Wrangler. Existing Queues are updated to the declared delivery delay, retention period, and paused state. The returned resource has a name field and can be passed directly through any deps argument.
The default retention is one day so the default declaration works on Workers Free. Paid plans can select a longer retention period.
Arguments
| Argument | Required | Description |
|---|---|---|
name | Yes | Queue name. |
delivery_delay_secs | No | Default delivery delay from 0 through 86400 seconds. Defaults to 0. |
message_retention_period_secs | No | Message retention from 60 through 1209600 seconds. Defaults to 86400. Account plan limits still apply. |
delivery_paused | No | Reconciled delivery state. Defaults to False, which resumes an existing paused Queue. |
deps | No | Dependencies activated before running Wrangler. Use these to provide Wrangler, credentials, or an account ID. |
Example
This example expects package.json to list "wrangler": "4.123.0" in devDependencies.
load("@cloudflare@1", "cf_queue_create")
load("@[email protected]", "npm_install")
load("@os@1", "env_prepend", "env_set")
wrangler = npm_install() + env_prepend("PATH", "node_modules/.bin")
account = env_set("CLOUDFLARE_ACCOUNT_ID", "0123456789abcdef0123456789abcdef")
events = cf_queue_create(
"app-events",
delivery_delay_secs=5,
message_retention_period_secs=345600,
delivery_paused=False,
deps=[wrangler, account],
)