summaryrefslogtreecommitdiff
path: root/cli/tsc
diff options
context:
space:
mode:
authorIgor Zinkovsky <igor@deno.com>2023-12-12 22:51:23 -0800
committerGitHub <noreply@github.com>2023-12-12 22:51:23 -0800
commit86769b0d1cfb7341df31278913524492d5f9ab52 (patch)
treedba094702ec2c4ad19a59f61151a777fd3f3e0b9 /cli/tsc
parent0ceae7a490d933144f63be5bc9d5ba0b27bf5c6e (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.ts24
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>;
/**