diff options
author | Igor Zinkovsky <igor@deno.com> | 2023-12-12 22:51:23 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-12 22:51:23 -0800 |
commit | 86769b0d1cfb7341df31278913524492d5f9ab52 (patch) | |
tree | dba094702ec2c4ad19a59f61151a777fd3f3e0b9 /cli/tsc | |
parent | 0ceae7a490d933144f63be5bc9d5ba0b27bf5c6e (diff) |
feat(ext/kv) add backoffSchedule to enqueue (#21474)
Also reduces the time to run `kv_queue_undelivered_test.ts` test from
100 seconds down to 3 seconds.
closes #21437
Diffstat (limited to 'cli/tsc')
-rw-r--r-- | cli/tsc/dts/lib.deno.unstable.d.ts | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/cli/tsc/dts/lib.deno.unstable.d.ts b/cli/tsc/dts/lib.deno.unstable.d.ts index 1858f6cd0..7778870e1 100644 --- a/cli/tsc/dts/lib.deno.unstable.d.ts +++ b/cli/tsc/dts/lib.deno.unstable.d.ts @@ -1786,7 +1786,11 @@ declare namespace Deno { */ enqueue( value: unknown, - options?: { delay?: number; keysIfUndelivered?: Deno.KvKey[] }, + options?: { + delay?: number; + keysIfUndelivered?: Deno.KvKey[]; + backoffSchedule?: number[]; + }, ): this; /** * Commit the operation to the KV store. Returns a value indicating whether @@ -1995,14 +1999,28 @@ declare namespace Deno { * listener after several attempts. The values are set to the value of * the queued message. * + * The `backoffSchedule` option can be used to specify the retry policy for + * failed message delivery. Each element in the array represents the number of + * milliseconds to wait before retrying the delivery. For example, + * `[1000, 5000, 10000]` means that a failed delivery will be retried + * at most 3 times, with 1 second, 5 seconds, and 10 seconds delay + * between each retry. + * * ```ts * const db = await Deno.openKv(); - * await db.enqueue("bar", { keysIfUndelivered: [["foo", "bar"]] }); + * await db.enqueue("bar", { + * keysIfUndelivered: [["foo", "bar"]], + * backoffSchedule: [1000, 5000, 10000], + * }); * ``` */ enqueue( value: unknown, - options?: { delay?: number; keysIfUndelivered?: Deno.KvKey[] }, + options?: { + delay?: number; + keysIfUndelivered?: Deno.KvKey[]; + backoffSchedule?: number[]; + }, ): Promise<KvCommitResult>; /** |