aboutsummaryrefslogtreecommitdiffstats
path: root/packages/plugins/queue-restate/src/service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/plugins/queue-restate/src/service.ts')
-rw-r--r--packages/plugins/queue-restate/src/service.ts9
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,