diff --git a/.changeset/lovely-terms-search.md b/.changeset/lovely-terms-search.md new file mode 100644 index 0000000000..7590a0d5a6 --- /dev/null +++ b/.changeset/lovely-terms-search.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-tasks': patch +--- + +Allow tasks to run more often that the default work check interval, which is 5 seconds. diff --git a/packages/backend-tasks/src/tasks/TaskWorker.ts b/packages/backend-tasks/src/tasks/TaskWorker.ts index 4e10f0b5b2..65dfd9802d 100644 --- a/packages/backend-tasks/src/tasks/TaskWorker.ts +++ b/packages/backend-tasks/src/tasks/TaskWorker.ts @@ -51,6 +51,10 @@ export class TaskWorker { `Task worker starting: ${this.taskId}, ${JSON.stringify(settings)}`, ); + const cadence = Duration.fromISO(settings.cadence); + const workCheckFrequency = + cadence < this.workCheckFrequency ? cadence : this.workCheckFrequency; + let attemptNum = 1; (async () => { for (;;) { @@ -69,7 +73,7 @@ export class TaskWorker { break; } - await sleep(this.workCheckFrequency, options?.signal); + await sleep(workCheckFrequency, options?.signal); } this.logger.info(`Task worker finished: ${this.taskId}`);