From 74a1f7b6b600d4cb53352dde7def374c3125721a Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sun, 5 Oct 2025 07:04:29 +0100 Subject: feat: Restate-based queue plugin (#2011) * WIP: Initial restate integration * add retry * add delay + idempotency * implement concurrency limits * add admin stats * add todos * add id provider * handle onComplete failures * add tests * add pub key and fix logging * add priorities * fail call after retries * more fixes * fix retries left * some refactoring * fix package.json * upgrade sdk * some test cleanups --- packages/shared/queueing.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'packages/shared') diff --git a/packages/shared/queueing.ts b/packages/shared/queueing.ts index dfe3b31a..e401972b 100644 --- a/packages/shared/queueing.ts +++ b/packages/shared/queueing.ts @@ -3,7 +3,6 @@ import { ZodType } from "zod"; import { PluginManager, PluginType } from "./plugins"; export interface EnqueueOptions { - numRetries?: number; idempotencyKey?: string; priority?: number; delayMs?: number; @@ -47,6 +46,7 @@ export interface RunnerOptions { } export interface Queue { + opts: QueueOptions; name(): string; enqueue(payload: T, options?: EnqueueOptions): Promise; stats(): Promise<{ @@ -65,7 +65,8 @@ export interface Runner<_T> { } export interface QueueClient { - init(): Promise; + prepare(): Promise; + start(): Promise; createQueue(name: string, options: QueueOptions): Queue; createRunner( queue: Queue, -- cgit v1.2.3-70-g09d2