xx
.md

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

ArgumentRequiredDescription
nameYesQueue name.
delivery_delay_secsNoDefault delivery delay from 0 through 86400 seconds. Defaults to 0.
message_retention_period_secsNoMessage retention from 60 through 1209600 seconds. Defaults to 86400. Account plan limits still apply.
delivery_pausedNoReconciled delivery state. Defaults to False, which resumes an existing paused Queue.
depsNoDependencies 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],
)