diff --git a/packages/backend-tasks/src/tasks/LocalTaskWorker.ts b/packages/backend-tasks/src/tasks/LocalTaskWorker.ts index c7ed759316..1326a6cd9d 100644 --- a/packages/backend-tasks/src/tasks/LocalTaskWorker.ts +++ b/packages/backend-tasks/src/tasks/LocalTaskWorker.ts @@ -40,10 +40,9 @@ export class LocalTaskWorker { this.logger.info( `Task worker starting: ${this.taskId}, ${JSON.stringify(settings)}`, ); - const success = false; let attemptNum = 1; (async () => { - while (!success) { + for (;;) { try { if (settings.initialDelayDuration) { await this.sleep( @@ -63,12 +62,14 @@ export class LocalTaskWorker { ); } this.logger.info(`Task worker finished: ${this.taskId}`); + attemptNum = 0; break; } catch (e) { attemptNum += 1; this.logger.warn( `Task worker failed unexpectedly, attempt number ${attemptNum}, ${e}`, ); + await sleep(Duration.fromISO('P1S')); } } })(); diff --git a/packages/backend-tasks/src/tasks/TaskWorker.ts b/packages/backend-tasks/src/tasks/TaskWorker.ts index e74b8b9cdb..c19dedc117 100644 --- a/packages/backend-tasks/src/tasks/TaskWorker.ts +++ b/packages/backend-tasks/src/tasks/TaskWorker.ts @@ -51,10 +51,9 @@ export class TaskWorker { this.logger.info( `Task worker starting: ${this.taskId}, ${JSON.stringify(settings)}`, ); - const success = false; let attemptNum = 1; (async () => { - while (!success) { + for (;;) { try { if (settings.initialDelayDuration) { await sleep( @@ -73,12 +72,14 @@ export class TaskWorker { } this.logger.info(`Task worker finished: ${this.taskId}`); + attemptNum = 0; break; } catch (e) { attemptNum += 1; this.logger.warn( `Task worker failed unexpectedly, attempt number ${attemptNum}, ${e}`, ); + await sleep(Duration.fromISO('P1S')); } } })();