@Queues **We've just shipped the ability to delay messages** - both when writing to a queue as well

@Queues We've just shipped the ability to delay messages
  • both when writing to a queue as well as when retrying. This can also be set at the queue and/or consumer level as a default delay that applies to all messages.
ending:
// Delay a singular message by 600 seconds (10 minutes)
await env.YOUR_QUEUE.send(message, { delaySeconds: 600 })


Retrying:
export default {
  async queue(batch: MessageBatch, env: Env, ctx: ExecutionContext) {
    for (const msg of batch.messages) {
      // Mark for retry and delay a singular message
      // by 3600 seconds (1 hour)
      msg.retry({delaySeconds: 3600})

    }
  },
};

Docs: https://developers.cloudflare.com/queues/reference/batching-retries/#delay-messages
Changelog: https://developers.cloudflare.com/queues/platform/changelog/#delay-messages-published-to-a-queue
Was this page helpful?