diff --git a/.changeset/twenty-bushes-enter.md b/.changeset/twenty-bushes-enter.md new file mode 100644 index 000000000000..c670195309ba --- /dev/null +++ b/.changeset/twenty-bushes-enter.md @@ -0,0 +1,19 @@ +--- +"wrangler": patch +--- + +Remove default values for delivery delay and message retention and update messaging on limits + +Fixes the issue of the default maximum message retention (365400 seconds) being longer than the maximum allowed retention period for free tier users (86400 seconds). + +Previous: + +- Wrangler set a default value of 365400 seconds max message retention if the setting was not explicitly provided in the Wrangler configuration. +- The maximum retention period was documented as 1209600 seconds for all queues users because it was required to be on paid tier. +- Wrangler also set a default value of 0 seconds for delivery delay if the setting was not explicitly provided in the Wrangler configuration. + +Updated: + +- Wrangler no longer sets a default value for max message retention so that the default can be applied at the API. +- The maximum retention period is now documented as 86400 seconds for free tier queues and 1209600 seconds for paid tier queues +- Wrangler also no longer sets a default value for delivery delay so that the default can be applied at the API. diff --git a/packages/wrangler/src/__tests__/queues/queues.test.ts b/packages/wrangler/src/__tests__/queues/queues.test.ts index 49238c10dc70..3d00e94fb3ab 100644 --- a/packages/wrangler/src/__tests__/queues/queues.test.ts +++ b/packages/wrangler/src/__tests__/queues/queues.test.ts @@ -186,20 +186,13 @@ describe("wrangler", () => { describe("create", () => { function mockCreateRequest( queueName: string, - queueSettings: { + queueSettings?: { delivery_delay?: number; message_retention_period?: number; - } = {} + } ) { const requests = { count: 0 }; - if (queueSettings?.delivery_delay === undefined) { - queueSettings.delivery_delay = 0; - } - if (queueSettings?.message_retention_period === undefined) { - queueSettings.message_retention_period = 345600; - } - msw.use( http.post( "*/accounts/:accountId/queues", @@ -208,9 +201,9 @@ describe("wrangler", () => { const body = (await request.json()) as { queue_name: string; - settings: { - delivery_delay: number; - message_retention_period: number; + settings?: { + delivery_delay?: number; + message_retention_period?: number; }; }; expect(body.queue_name).toEqual(queueName); @@ -252,8 +245,8 @@ describe("wrangler", () => { -v, --version Show version number [boolean] OPTIONS - --delivery-delay-secs How long a published message should be delayed for, in seconds. Must be between 0 and 42300 [number] [default: 0] - --message-retention-period-secs How long to retain a message in the queue, in seconds. Must be between 60 and 1209600 [number] [default: 345600]" + --delivery-delay-secs How long a published message should be delayed for, in seconds. Must be between 0 and 43200 [number] + --message-retention-period-secs 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 [number]" `); }); describe.each(["wrangler.json", "wrangler.toml"])("%s", (configPath) => { @@ -476,8 +469,8 @@ describe("wrangler", () => { -v, --version Show version number [boolean] OPTIONS - --delivery-delay-secs How long a published message should be delayed for, in seconds. Must be between 0 and 42300 [number] - --message-retention-period-secs How long to retain a message in the queue, in seconds. Must be between 60 and 1209600 [number]" + --delivery-delay-secs How long a published message should be delayed for, in seconds. Must be between 0 and 43200 [number] + --message-retention-period-secs 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 [number]" `); }); diff --git a/packages/wrangler/src/queues/cli/commands/create.ts b/packages/wrangler/src/queues/cli/commands/create.ts index 4cf045458150..8e8cf7388158 100644 --- a/packages/wrangler/src/queues/cli/commands/create.ts +++ b/packages/wrangler/src/queues/cli/commands/create.ts @@ -31,14 +31,12 @@ export const queuesCreateCommand = createCommand({ "delivery-delay-secs": { type: "number", describe: - "How long a published message should be delayed for, in seconds. Must be between 0 and 42300", - default: 0, + "How long a published message should be delayed for, in seconds. Must be between 0 and 43200", }, "message-retention-period-secs": { type: "number", describe: - "How long to retain a message in the queue, in seconds. Must be between 60 and 1209600", - default: 345600, + "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", }, }, positionalArgs: ["name"], diff --git a/packages/wrangler/src/queues/cli/commands/update.ts b/packages/wrangler/src/queues/cli/commands/update.ts index 5fdd3f1e172f..7c09106e2100 100644 --- a/packages/wrangler/src/queues/cli/commands/update.ts +++ b/packages/wrangler/src/queues/cli/commands/update.ts @@ -26,12 +26,12 @@ export const queuesUpdateCommand = createCommand({ "delivery-delay-secs": { type: "number", describe: - "How long a published message should be delayed for, in seconds. Must be between 0 and 42300", + "How long a published message should be delayed for, in seconds. Must be between 0 and 43200", }, "message-retention-period-secs": { type: "number", describe: - "How long to retain a message in the queue, in seconds. Must be between 60 and 1209600", + "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", }, }, positionalArgs: ["name"],