From 8b99f42009ee8adbd3225776efe2a945c3443d6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Ovejero?= Date: Wed, 16 Apr 2025 10:28:47 +0200 Subject: [PATCH] refactor(core): Provide clearer errors on task runner rejection (#14666) --- packages/@n8n/task-runner/src/task-runner.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/@n8n/task-runner/src/task-runner.ts b/packages/@n8n/task-runner/src/task-runner.ts index dd048bcf7e..3f8f125786 100644 --- a/packages/@n8n/task-runner/src/task-runner.ts +++ b/packages/@n8n/task-runner/src/task-runner.ts @@ -258,17 +258,20 @@ export abstract class TaskRunner extends EventEmitter { request.resolve(nodeTypes); } - hasOpenTasks() { + /** + * Whether the task runner has capacity to accept more tasks. + */ + hasOpenTaskSlots() { return this.runningTasks.size < this.maxConcurrency; } offerAccepted(offerId: string, taskId: string) { - if (!this.hasOpenTasks()) { + if (!this.hasOpenTaskSlots()) { this.openOffers.delete(offerId); this.send({ type: 'runner:taskrejected', taskId, - reason: 'No open task slots', + reason: 'No open task slots - runner already at capacity', }); return; } @@ -278,7 +281,7 @@ export abstract class TaskRunner extends EventEmitter { this.send({ type: 'runner:taskrejected', taskId, - reason: 'Offer expired and no open task slots', + reason: 'Offer expired - not accepted within validity window', }); return; } else {