From 48adb133934b88481a9cc8a72b1bd8f213b78cee Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Thu, 13 Feb 2025 15:31:04 -0500 Subject: [PATCH 01/19] added queues retention period documentation --- .../queues/customize-retention-period.png | Bin 0 -> 120683 bytes ...02-14-customize-queue-retention-period.mdx | 22 +++++++++ .../queues/configuration/configure-queues.mdx | 45 ++++++++++++------ .../docs/workers/wrangler/commands.mdx | 19 ++++++++ 4 files changed, 72 insertions(+), 14 deletions(-) create mode 100644 src/assets/images/queues/customize-retention-period.png create mode 100644 src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx diff --git a/src/assets/images/queues/customize-retention-period.png b/src/assets/images/queues/customize-retention-period.png new file mode 100644 index 0000000000000000000000000000000000000000..d6276dd39f4b4f6ee155445755b3b7524bf9a53e GIT binary patch literal 120683 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 + * How long a published message is delayed for, before it is delivered to consumers. + * Must be between 0 and 43200 (12 hrs). + * Defaults to 0. + +* `--message-retention-period-secs` + * How long messages are retained on the Queue. + * Defaults to 345600 (4 days). + * Must be between 60 and 1209600 (14 days) + +## Producer worker configuration A producer is a [Cloudflare Worker](/workers/) that writes to one or more queues. A producer can accept messages over HTTP, asynchronously write messages when handling requests, and/or write to a queue from within a [Durable Object](/durable-objects/). Any Worker can write to a queue. @@ -43,19 +62,17 @@ To produce to a queue, set up a binding in your Wrangler file. These options sho -* queue string +* queue * The name of the Queue. -* binding string +* binding * The name of the binding, which is a JavaScript variable. -## Consumer - -## Workers +## Consumer worker configuration To consume messages from one or more queues, set up a binding in your Wrangler file. These options should be used when a Worker wants to receive messages from a queue. @@ -78,32 +95,32 @@ Refer to [Limits](/queues/platform/limits) to review the maximum values for each -* queue string +* queue * The name of the Queue. -* max\_batch\_size number optional +* max\_batch\_size * The maximum number of messages allowed in each batch. * Defaults to `10` messages. -* max\_batch\_timeout number optional +* max\_batch\_timeout * The maximum number of seconds to wait until a batch is full. * Defaults to `5` seconds. -* max\_retries number optional +* max\_retries * The maximum number of retries for a message, if it fails or [`retryAll()`](/queues/configuration/javascript-apis/#messagebatch) is invoked. * Defaults to `3` retries. -* dead\_letter\_queue string optional +* dead\_letter\_queue * The name of another Queue to send a message if it fails processing at least `max_retries` times. * If a `dead_letter_queue` is not defined, messages that repeatedly fail processing will eventually be discarded. * If there is no Queue with the specified name, it will be created automatically. -* max\_concurrency number optional +* max\_concurrency * The maximum number of concurrent consumers allowed to run at once. Leaving this unset will mean that the number of invocations will scale to the [currently supported maximum](/queues/platform/limits/). * Refer to [Consumer concurrency](/queues/configuration/consumer-concurrency/) for more information on how consumers autoscale, particularly when messages are retried. diff --git a/src/content/docs/workers/wrangler/commands.mdx b/src/content/docs/workers/wrangler/commands.mdx index 9eb040eee4568e6..e97bb9a7595ec25 100644 --- a/src/content/docs/workers/wrangler/commands.mdx +++ b/src/content/docs/workers/wrangler/commands.mdx @@ -1254,6 +1254,25 @@ wrangler queues create [OPTIONS] - The name of the queue to create. - `--delivery-delay-secs` - How long a published message should be delayed for, in seconds. Must be a positive integer. +- `--message-retention-period-secs` + - How long a published message is retained on the Queue. Must be a positive integer between 60 and 1209600 (14 days). Defaults to 345600 (4 days). + + + +### `update` + +Updae an existing Queue. + +```txt +wrangler queues update [OPTIONS] +``` + +- `name` + - The name of the queue to update. +- `--delivery-delay-secs` + - How long a published message should be delayed for, in seconds. Must be a positive integer. +- `--message-retention-period-secs` + - How long a published message is retained on the Queue. Must be a positive integer between 60 and 1209600 (14 days). Defaults to 345600 (4 days). From 30c9ba662c94d050ebba3d7050a76eae19e65730 Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Thu, 13 Feb 2025 15:34:15 -0500 Subject: [PATCH 02/19] Update src/content/docs/queues/configuration/configure-queues.mdx Co-authored-by: hyperlint-ai[bot] <154288675+hyperlint-ai[bot]@users.noreply.github.com> --- src/content/docs/queues/configuration/configure-queues.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/queues/configuration/configure-queues.mdx b/src/content/docs/queues/configuration/configure-queues.mdx index a2b57329c2e070f..00ac413affa7322 100644 --- a/src/content/docs/queues/configuration/configure-queues.mdx +++ b/src/content/docs/queues/configuration/configure-queues.mdx @@ -44,7 +44,7 @@ $ npx run wrangler queues update --delivery-delay-secs 60 --message-retention-pe * Defaults to 345600 (4 days). * Must be between 60 and 1209600 (14 days) -## Producer worker configuration +## Producer Worker configuration A producer is a [Cloudflare Worker](/workers/) that writes to one or more queues. A producer can accept messages over HTTP, asynchronously write messages when handling requests, and/or write to a queue from within a [Durable Object](/durable-objects/). Any Worker can write to a queue. From a7b2c62d40bad2726366405adeddda201b2de1b7 Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Thu, 13 Feb 2025 15:34:25 -0500 Subject: [PATCH 03/19] Update src/content/docs/queues/configuration/configure-queues.mdx Co-authored-by: hyperlint-ai[bot] <154288675+hyperlint-ai[bot]@users.noreply.github.com> --- src/content/docs/queues/configuration/configure-queues.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/queues/configuration/configure-queues.mdx b/src/content/docs/queues/configuration/configure-queues.mdx index 00ac413affa7322..e5ba04a1d0df769 100644 --- a/src/content/docs/queues/configuration/configure-queues.mdx +++ b/src/content/docs/queues/configuration/configure-queues.mdx @@ -72,7 +72,7 @@ To produce to a queue, set up a binding in your Wrangler file. These options sho -## Consumer worker configuration +## Consumer Worker Configuration To consume messages from one or more queues, set up a binding in your Wrangler file. These options should be used when a Worker wants to receive messages from a queue. From 837e6fce51aa8a4729647c6eeb6e40ecc27fd3bd Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Thu, 13 Feb 2025 17:12:06 -0500 Subject: [PATCH 04/19] Update 2025-02-14-customize-queue-retention-period.mdx --- .../queues/2025-02-14-customize-queue-retention-period.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx index e0c2a7affae4027..8a0e802891cfda1 100644 --- a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx +++ b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx @@ -1,6 +1,6 @@ --- title: Customize Queue message retention periods -description: Customize the retention period for a queue, starting from 60 seconds to a maximum of 14 days. +description: Customize the retention period for a Queue, starting from 60 seconds to a maximum of 14 days. products: - queues date: 2025-02-14 12:00:00 UTC @@ -19,4 +19,4 @@ You can customize the retention period on the Queues settings page on the dashbo $ wrangler queues update my-queue --message-retention-period-secs 600 ``` -This feature is available on all new and existing Queues. If you haven't used Cloudflare Queues before, [get started with our guide here](/queues/get-started). \ No newline at end of file +This feature is available on all new and existing Queues. If you haven't used Cloudflare Queues before, [get started with our guide here](/queues/get-started). From da508e49df325145ae5997ffe09b73594ada10d8 Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Fri, 14 Feb 2025 08:18:47 -0500 Subject: [PATCH 05/19] Update src/content/docs/queues/configuration/configure-queues.mdx Co-authored-by: ToriLindsay --- src/content/docs/queues/configuration/configure-queues.mdx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/content/docs/queues/configuration/configure-queues.mdx b/src/content/docs/queues/configuration/configure-queues.mdx index e5ba04a1d0df769..f7ec49feb8f7035 100644 --- a/src/content/docs/queues/configuration/configure-queues.mdx +++ b/src/content/docs/queues/configuration/configure-queues.mdx @@ -13,7 +13,6 @@ import { WranglerConfig, Type } from "~/components"; Cloudflare Queues can be configured using [Wrangler](/workers/wrangler/install-and-update/), the command-line interface for Cloudflare's Developer Platform, which includes [Workers](/workers/), [R2](/r2/), and other developer products. -Cloudflare Queues can be configured using [Wrangler](/workers/wrangler/install-and-update/), the command-line interface for Cloudflare's Developer Platform, which includes [Workers](/workers/), [R2](/r2/), and other developer products. Each Producer and Consumer Worker has a [Wrangler configuration file](/workers/wrangler/configuration/) that specifies environment variables, triggers, and resources, such as a Queue. To enable Worker-to-resource communication, you must set up a [binding](/workers/runtime-apis/bindings/) in your Worker project's Wrangler file. From 91c8e8157f38601a7ece83da6a3c74543f551ee1 Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Fri, 14 Feb 2025 08:18:57 -0500 Subject: [PATCH 06/19] Update src/content/docs/workers/wrangler/commands.mdx Co-authored-by: ToriLindsay --- src/content/docs/workers/wrangler/commands.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/workers/wrangler/commands.mdx b/src/content/docs/workers/wrangler/commands.mdx index e97bb9a7595ec25..a64648be2af9e8d 100644 --- a/src/content/docs/workers/wrangler/commands.mdx +++ b/src/content/docs/workers/wrangler/commands.mdx @@ -1255,7 +1255,7 @@ wrangler queues create [OPTIONS] - `--delivery-delay-secs` - How long a published message should be delayed for, in seconds. Must be a positive integer. - `--message-retention-period-secs` - - How long a published message is retained on the Queue. Must be a positive integer between 60 and 1209600 (14 days). Defaults to 345600 (4 days). + - How long a published message is retained in the Queue. Must be a positive integer between 60 and 1209600 (14 days). Defaults to 345600 (4 days). From 54153b6bb31277c24c68add641862a7f0024176b Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Fri, 14 Feb 2025 08:19:03 -0500 Subject: [PATCH 07/19] Update src/content/docs/queues/configuration/configure-queues.mdx Co-authored-by: ToriLindsay --- src/content/docs/queues/configuration/configure-queues.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/queues/configuration/configure-queues.mdx b/src/content/docs/queues/configuration/configure-queues.mdx index f7ec49feb8f7035..756cf0a810d58ee 100644 --- a/src/content/docs/queues/configuration/configure-queues.mdx +++ b/src/content/docs/queues/configuration/configure-queues.mdx @@ -35,7 +35,7 @@ $ npx run wrangler queues update --delivery-delay-secs 60 --message-retention-pe * `--delivery-delay-secs` * How long a published message is delayed for, before it is delivered to consumers. - * Must be between 0 and 43200 (12 hrs). + * Must be between 0 and 43200 (12 hours). * Defaults to 0. * `--message-retention-period-secs` From f564f67c8e21c7ade543d0af713d942c59dab624 Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Fri, 14 Feb 2025 08:19:09 -0500 Subject: [PATCH 08/19] Update src/content/docs/workers/wrangler/commands.mdx Co-authored-by: ToriLindsay --- src/content/docs/workers/wrangler/commands.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/workers/wrangler/commands.mdx b/src/content/docs/workers/wrangler/commands.mdx index a64648be2af9e8d..2a667531f2c5876 100644 --- a/src/content/docs/workers/wrangler/commands.mdx +++ b/src/content/docs/workers/wrangler/commands.mdx @@ -1261,7 +1261,7 @@ wrangler queues create [OPTIONS] ### `update` -Updae an existing Queue. +Update an existing Queue. ```txt wrangler queues update [OPTIONS] From 70b7920dad1adcf697482e8915b154407aad35b1 Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Fri, 14 Feb 2025 08:19:15 -0500 Subject: [PATCH 09/19] Update src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx Co-authored-by: ToriLindsay --- .../queues/2025-02-14-customize-queue-retention-period.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx index 8a0e802891cfda1..34d1cb853d954cb 100644 --- a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx +++ b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx @@ -1,6 +1,6 @@ --- title: Customize Queue message retention periods -description: Customize the retention period for a Queue, starting from 60 seconds to a maximum of 14 days. +description: Customize the retention period for a Queue, from a minimum of 60 seconds to a maximum of 14 days. products: - queues date: 2025-02-14 12:00:00 UTC From f44bbb01741e0cbba868f68c4faa9dcdbe6cacc6 Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Fri, 14 Feb 2025 08:19:22 -0500 Subject: [PATCH 10/19] Update src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx Co-authored-by: ToriLindsay --- .../queues/2025-02-14-customize-queue-retention-period.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx index 34d1cb853d954cb..4eace7d50a7e4c7 100644 --- a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx +++ b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx @@ -6,7 +6,7 @@ products: date: 2025-02-14 12:00:00 UTC --- -You can customize a Queue's message retention period, starting from 60s to a maximum of 14 days. Visit the [queues docs](/queues/configuration/configure-queues#queue-configuration) to learn more. +You can customize a Queue's message retention period, from a minimum of 60 seconds to a maximum of 14 days. [Learn more about configuring Queues](/queues/configuration/configure-queues#queue-configuration). ![Customize a Queue's message retention period](~/assets/images/queues/customize-retention-period.png) From fbc5370adf4c36210e3637bbf9e494452b3a93ed Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Fri, 14 Feb 2025 08:19:45 -0500 Subject: [PATCH 11/19] Update src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx Co-authored-by: ToriLindsay --- .../queues/2025-02-14-customize-queue-retention-period.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx index 4eace7d50a7e4c7..188b9b210ca53cb 100644 --- a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx +++ b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx @@ -10,7 +10,7 @@ You can customize a Queue's message retention period, from a minimum of 60 secon ![Customize a Queue's message retention period](~/assets/images/queues/customize-retention-period.png) -By default, Queues retain messages for a default of 4 days. Previously, it was impossible to change the retention period. +By default, Queues retain messages for 4 days. Previously, it was impossible to change the retention period. With this update, you can retain messages for up to 14 days. Or if you want your consumer to only consume newer messages, you can set the message expiry period to be as short as 60 seconds. From 1c73803b364e3b38fb88e915fa7d2ae71a1abc08 Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Fri, 14 Feb 2025 08:19:52 -0500 Subject: [PATCH 12/19] Update src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx Co-authored-by: ToriLindsay --- .../queues/2025-02-14-customize-queue-retention-period.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx index 188b9b210ca53cb..d487781e0c76b1f 100644 --- a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx +++ b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx @@ -14,7 +14,7 @@ By default, Queues retain messages for 4 days. Previously, it was impossible to With this update, you can retain messages for up to 14 days. Or if you want your consumer to only consume newer messages, you can set the message expiry period to be as short as 60 seconds. -You can customize the retention period on the Queues settings page on the dashboard, or using Wrangler: +You can customize the retention period on the Queues settings page on the dashboard or using Wrangler: ```bash title="Update message retention period" $ wrangler queues update my-queue --message-retention-period-secs 600 ``` From 16f7843851c45c51bfe88fc63e2094de120fd605 Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Fri, 14 Feb 2025 08:20:01 -0500 Subject: [PATCH 13/19] Update src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx Co-authored-by: ToriLindsay --- .../queues/2025-02-14-customize-queue-retention-period.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx index d487781e0c76b1f..483643099156e9c 100644 --- a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx +++ b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx @@ -19,4 +19,4 @@ You can customize the retention period on the Queues settings page on the dashbo $ wrangler queues update my-queue --message-retention-period-secs 600 ``` -This feature is available on all new and existing Queues. If you haven't used Cloudflare Queues before, [get started with our guide here](/queues/get-started). +This feature is available on all new and existing Queues. If you haven't used Cloudflare Queues before, [get started with the Cloudflare Queues guide](/queues/get-started). From 4b0ce9ff94e9ba0d30b705e59395311577262d43 Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Fri, 14 Feb 2025 14:52:57 -0500 Subject: [PATCH 14/19] Update 2025-02-14-customize-queue-retention-period.mdx --- .../2025-02-14-customize-queue-retention-period.mdx | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx index 483643099156e9c..cd47f072b417ede 100644 --- a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx +++ b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx @@ -6,15 +6,12 @@ products: date: 2025-02-14 12:00:00 UTC --- -You can customize a Queue's message retention period, from a minimum of 60 seconds to a maximum of 14 days. [Learn more about configuring Queues](/queues/configuration/configure-queues#queue-configuration). +You can now customize a Queue's message retention period, from a minimum of 60 seconds to a maximum of 14 days. Previously, it fixed to the default of 4 days. -![Customize a Queue's message retention period](~/assets/images/queues/customize-retention-period.png) - -By default, Queues retain messages for 4 days. Previously, it was impossible to change the retention period. +You can customize the retention period on the Queues settings page on the dashboard or using Wrangler: -With this update, you can retain messages for up to 14 days. Or if you want your consumer to only consume newer messages, you can set the message expiry period to be as short as 60 seconds. +![Customize a Queue's message retention period](~/assets/images/queues/customize-retention-period.png) -You can customize the retention period on the Queues settings page on the dashboard or using Wrangler: ```bash title="Update message retention period" $ wrangler queues update my-queue --message-retention-period-secs 600 ``` From 56ba238d40f81cfc9f13b2e6958d7f7bcd4d2e1b Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Fri, 14 Feb 2025 14:53:22 -0500 Subject: [PATCH 15/19] Update 2025-02-14-customize-queue-retention-period.mdx --- .../queues/2025-02-14-customize-queue-retention-period.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx index cd47f072b417ede..ec527de432a356b 100644 --- a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx +++ b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx @@ -6,9 +6,9 @@ products: date: 2025-02-14 12:00:00 UTC --- -You can now customize a Queue's message retention period, from a minimum of 60 seconds to a maximum of 14 days. Previously, it fixed to the default of 4 days. +You can now customize a Queue's message retention period, from a minimum of 60 seconds to a maximum of 14 days. Previously, it was fixed to the default of 4 days. -You can customize the retention period on the Queues settings page on the dashboard or using Wrangler: +You can customize the retention period using the Queues settings page on the dashboard or using Wrangler: ![Customize a Queue's message retention period](~/assets/images/queues/customize-retention-period.png) From b5bf4651fac6080216050fb3661611cad1bc85ce Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Fri, 14 Feb 2025 15:01:40 -0500 Subject: [PATCH 16/19] Update 2025-02-14-customize-queue-retention-period.mdx --- .../2025-02-14-customize-queue-retention-period.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx index ec527de432a356b..f8c3c4822ddd426 100644 --- a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx +++ b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx @@ -6,14 +6,14 @@ products: date: 2025-02-14 12:00:00 UTC --- -You can now customize a Queue's message retention period, from a minimum of 60 seconds to a maximum of 14 days. Previously, it was fixed to the default of 4 days. - -You can customize the retention period using the Queues settings page on the dashboard or using Wrangler: +You can now customize a queue's message retention period, from a minimum of 60 seconds to a maximum of 14 days. Previously, it was fixed to the default of 4 days. ![Customize a Queue's message retention period](~/assets/images/queues/customize-retention-period.png) +You can customize the retention period on the settings page for your queue, or using Wrangler: + ```bash title="Update message retention period" $ wrangler queues update my-queue --message-retention-period-secs 600 ``` -This feature is available on all new and existing Queues. If you haven't used Cloudflare Queues before, [get started with the Cloudflare Queues guide](/queues/get-started). +This feature is available on all new and existing queues. If you haven't used Cloudflare Queues before, [get started with the Cloudflare Queues guide](/queues/get-started). From f6deb8a17dcabf0e8c6db271b9d9380f209d7af0 Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Fri, 14 Feb 2025 15:02:06 -0500 Subject: [PATCH 17/19] Update 2025-02-14-customize-queue-retention-period.mdx --- .../queues/2025-02-14-customize-queue-retention-period.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx index f8c3c4822ddd426..88c05ed7c7743fb 100644 --- a/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx +++ b/src/content/changelog/queues/2025-02-14-customize-queue-retention-period.mdx @@ -1,6 +1,6 @@ --- -title: Customize Queue message retention periods -description: Customize the retention period for a Queue, from a minimum of 60 seconds to a maximum of 14 days. +title: Customize queue message retention periods +description: Customize the retention period for a queue, from a minimum of 60 seconds to a maximum of 14 days. products: - queues date: 2025-02-14 12:00:00 UTC @@ -8,7 +8,7 @@ date: 2025-02-14 12:00:00 UTC You can now customize a queue's message retention period, from a minimum of 60 seconds to a maximum of 14 days. Previously, it was fixed to the default of 4 days. -![Customize a Queue's message retention period](~/assets/images/queues/customize-retention-period.png) +![Customize a queue's message retention period](~/assets/images/queues/customize-retention-period.png) You can customize the retention period on the settings page for your queue, or using Wrangler: From 822027768dfd6473b79be25c08efcdefc3a56813 Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Fri, 14 Feb 2025 15:03:25 -0500 Subject: [PATCH 18/19] Update configure-queues.mdx --- .../docs/queues/configuration/configure-queues.mdx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/content/docs/queues/configuration/configure-queues.mdx b/src/content/docs/queues/configuration/configure-queues.mdx index 756cf0a810d58ee..f1586511b4b9316 100644 --- a/src/content/docs/queues/configuration/configure-queues.mdx +++ b/src/content/docs/queues/configuration/configure-queues.mdx @@ -14,20 +14,20 @@ import { WranglerConfig, Type } from "~/components"; Cloudflare Queues can be configured using [Wrangler](/workers/wrangler/install-and-update/), the command-line interface for Cloudflare's Developer Platform, which includes [Workers](/workers/), [R2](/r2/), and other developer products. -Each Producer and Consumer Worker has a [Wrangler configuration file](/workers/wrangler/configuration/) that specifies environment variables, triggers, and resources, such as a Queue. To enable Worker-to-resource communication, you must set up a [binding](/workers/runtime-apis/bindings/) in your Worker project's Wrangler file. +Each Producer and Consumer Worker has a [Wrangler configuration file](/workers/wrangler/configuration/) that specifies environment variables, triggers, and resources, such as a queue. To enable Worker-to-resource communication, you must set up a [binding](/workers/runtime-apis/bindings/) in your Worker project's Wrangler file. Use the options below to configure your queue. :::note -Below are options for Queues, refer to the Wrangler documentation for a full reference of the [Wrangler configuration file](/workers/wrangler/configuration/). +Below are options for queues, refer to the Wrangler documentation for a full reference of the [Wrangler configuration file](/workers/wrangler/configuration/). ::: ## Queue configuration -The following Queue level settings can be configured using Wrangler: +The following queue level settings can be configured using Wrangler: ```sh $ npx run wrangler queues update --delivery-delay-secs 60 --message-retention-period-secs 3000 @@ -63,7 +63,7 @@ To produce to a queue, set up a binding in your Wrangler file. These options sho * queue - * The name of the Queue. + * The name of the queue. * binding @@ -96,7 +96,7 @@ Refer to [Limits](/queues/platform/limits) to review the maximum values for each * queue - * The name of the Queue. + * The name of the queue. * max\_batch\_size @@ -115,9 +115,9 @@ Refer to [Limits](/queues/platform/limits) to review the maximum values for each * dead\_letter\_queue - * The name of another Queue to send a message if it fails processing at least `max_retries` times. + * The name of another queue to send a message if it fails processing at least `max_retries` times. * If a `dead_letter_queue` is not defined, messages that repeatedly fail processing will eventually be discarded. - * If there is no Queue with the specified name, it will be created automatically. + * If there is no queue with the specified name, it will be created automatically. * max\_concurrency From c5aa8376c7deb64fb87ec01cdb50b7ddbd0edd0b Mon Sep 17 00:00:00 2001 From: Pranshu Maheshwari Date: Fri, 14 Feb 2025 15:03:53 -0500 Subject: [PATCH 19/19] Update commands.mdx --- src/content/docs/workers/wrangler/commands.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/docs/workers/wrangler/commands.mdx b/src/content/docs/workers/wrangler/commands.mdx index 2a667531f2c5876..e0ab485c8cbc1d1 100644 --- a/src/content/docs/workers/wrangler/commands.mdx +++ b/src/content/docs/workers/wrangler/commands.mdx @@ -1244,7 +1244,7 @@ Manage your Workers [Queues](/queues/) configurations. ### `create` -Create a new Queue. +Create a new queue. ```txt wrangler queues create [OPTIONS] @@ -1261,7 +1261,7 @@ wrangler queues create [OPTIONS] ### `update` -Update an existing Queue. +Update an existing queue. ```txt wrangler queues update [OPTIONS]