diff --git a/plugins/scaffolder-backend/src/service/router.ts b/plugins/scaffolder-backend/src/service/router.ts index 6fe914202e..9d4aa547f8 100644 --- a/plugins/scaffolder-backend/src/service/router.ts +++ b/plugins/scaffolder-backend/src/service/router.ts @@ -201,6 +201,20 @@ export async function createRouter( const actionRegistry = new TemplateActionRegistry(); + const workers = []; + for (let i = 0; i < (taskWorkers || 1); i++) { + const worker = await TaskWorker.create({ + taskBroker, + actionRegistry, + integrations, + logger, + workingDirectory, + additionalTemplateFilters, + additionalTemplateGlobals, + }); + workers.push(worker); + } + const actionsToRegister = Array.isArray(actions) ? actions : createBuiltinActions({ @@ -213,17 +227,7 @@ export async function createRouter( }); actionsToRegister.forEach(action => actionRegistry.register(action)); - - const worker = await TaskWorker.create({ - taskBroker, - actionRegistry, - integrations, - logger, - workingDirectory, - additionalTemplateFilters, - additionalTemplateGlobals, - }); - worker.start(); + workers.forEach(worker => worker.start()); const dryRunner = createDryRunner({ actionRegistry,