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/plugins-queue-liteque/src/index.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'packages/plugins-queue-liteque/src') diff --git a/packages/plugins-queue-liteque/src/index.ts b/packages/plugins-queue-liteque/src/index.ts index 16e6e20a..ddc2181c 100644 --- a/packages/plugins-queue-liteque/src/index.ts +++ b/packages/plugins-queue-liteque/src/index.ts @@ -24,6 +24,7 @@ class LitequeQueueWrapper implements Queue { constructor( private readonly _name: string, private readonly lq: LQ, + public readonly opts: QueueOptions, ) {} name(): string { @@ -60,10 +61,14 @@ class LitequeQueueClient implements QueueClient { private queues = new Map>(); - async init(): Promise { + async prepare(): Promise { migrateDB(this.db); } + async start(): Promise { + // No-op for sqlite + } + createQueue(name: string, options: QueueOptions): Queue { if (this.queues.has(name)) { throw new Error(`Queue ${name} already exists`); @@ -72,7 +77,7 @@ class LitequeQueueClient implements QueueClient { defaultJobArgs: { numRetries: options.defaultJobArgs.numRetries }, keepFailedJobs: options.keepFailedJobs, }); - const wrapper = new LitequeQueueWrapper(name, lq); + const wrapper = new LitequeQueueWrapper(name, lq, options); this.queues.set(name, wrapper); return wrapper; } -- cgit v1.2.3-70-g09d2