diff options
Diffstat (limited to 'packages/plugins/queue-restate/src/service.ts')
| -rw-r--r-- | packages/plugins/queue-restate/src/service.ts | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/packages/plugins/queue-restate/src/service.ts b/packages/plugins/queue-restate/src/service.ts index 5ba7d1df..fb7e08c2 100644 --- a/packages/plugins/queue-restate/src/service.ts +++ b/packages/plugins/queue-restate/src/service.ts @@ -121,7 +121,14 @@ async function runWorkerLogic<T, R>( ctx.run( `main logic`, async () => { - return await run(data); + return await Promise.race([ + run(data), + new Promise<R>((_, reject) => { + data.abortSignal.addEventListener("abort", () => { + reject(new Error(`Job didn't complete within timeout`)); + }); + }), + ]); }, { maxRetryAttempts: 1, |
