diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-11-09 20:13:39 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-11-09 20:13:39 +0000 |
| commit | b28cd03a4a5f95f429a1429a59319c8a9ac986f8 (patch) | |
| tree | f8b6a50338675bd0073643b5ff31fe447795fad4 /packages/shared/queueing.ts | |
| parent | 03161482b44bd67f6eafb3e3d51107811b638d4b (diff) | |
| download | karakeep-b28cd03a4a5f95f429a1429a59319c8a9ac986f8.tar.zst | |
refactor: Allow runner functions to return results to onComplete
Diffstat (limited to 'packages/shared/queueing.ts')
| -rw-r--r-- | packages/shared/queueing.ts | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/packages/shared/queueing.ts b/packages/shared/queueing.ts index e401972b..ed6759dd 100644 --- a/packages/shared/queueing.ts +++ b/packages/shared/queueing.ts @@ -32,9 +32,9 @@ export interface DequeuedJobError<T> { numRetriesLeft: number; } -export interface RunnerFuncs<T> { - run: (job: DequeuedJob<T>) => Promise<void>; - onComplete?: (job: DequeuedJob<T>) => Promise<void>; +export interface RunnerFuncs<T, R = void> { + run: (job: DequeuedJob<T>) => Promise<R>; + onComplete?: (job: DequeuedJob<T>, result: R) => Promise<void>; onError?: (job: DequeuedJobError<T>) => Promise<void>; } @@ -68,9 +68,9 @@ export interface QueueClient { prepare(): Promise<void>; start(): Promise<void>; createQueue<T>(name: string, options: QueueOptions): Queue<T>; - createRunner<T>( + createRunner<T, R = void>( queue: Queue<T>, - funcs: RunnerFuncs<T>, + funcs: RunnerFuncs<T, R>, opts: RunnerOptions<T>, ): Runner<T>; shutdown?(): Promise<void>; |
