Skip to main content

enqueue

method Deno.Kv.prototype.enqueue
Jump to headingKv.prototype.enqueue(
value: unknown,
options?: { delay?: number; keysIfUndelivered?: KvKey[]; backoffSchedule?: number[]; },
): Promise<KvCommitResult>

Add a value into the database queue to be delivered to the queue listener via Deno.Kv.listenQueue.

const db = await Deno.openKv();
await db.enqueue("bar");

The delay option can be used to specify the delay (in milliseconds) of the value delivery. The default delay is 0, which means immediate delivery.

const db = await Deno.openKv();
await db.enqueue("bar", { delay: 60000 });

The keysIfUndelivered option can be used to specify the keys to be set if the value is not successfully delivered to the queue 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.

const db = await Deno.openKv();
await db.enqueue("bar", {
  keysIfUndelivered: [["foo", "bar"]],
  backoffSchedule: [1000, 5000, 10000],
});

Parameters Jump to heading

Jump to headingvalue: unknown
optional
Jump to headingoptions: { delay?: number; keysIfUndelivered?: KvKey[]; backoffSchedule?: number[]; }

Return Type Jump to heading

Back to top