diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-10-05 07:04:29 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-05 07:04:29 +0100 |
| commit | 74a1f7b6b600d4cb53352dde7def374c3125721a (patch) | |
| tree | 70b79ebae61456f6ff2cb02a37351fa9817fb342 /packages/shared | |
| parent | 4a580d713621f99abb8baabc9b847ce039d44842 (diff) | |
| download | karakeep-74a1f7b6b600d4cb53352dde7def374c3125721a.tar.zst | |
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
Diffstat (limited to 'packages/shared')
| -rw-r--r-- | packages/shared/queueing.ts | 5 |
1 files changed, 3 insertions, 2 deletions
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<T> { } export interface Queue<T> { + opts: QueueOptions; name(): string; enqueue(payload: T, options?: EnqueueOptions): Promise<string | undefined>; stats(): Promise<{ @@ -65,7 +65,8 @@ export interface Runner<_T> { } export interface QueueClient { - init(): Promise<void>; + prepare(): Promise<void>; + start(): Promise<void>; createQueue<T>(name: string, options: QueueOptions): Queue<T>; createRunner<T>( queue: Queue<T>, |
