diff --git a/app/src/env.mjs b/app/src/env.mjs index 8ce2d48..2f6fada 100644 --- a/app/src/env.mjs +++ b/app/src/env.mjs @@ -30,6 +30,10 @@ export const env = createEnv({ .string() .default("10") .transform((val) => parseInt(val)), + WORKER_MAX_POOL_SIZE: z + .string() + .default("10") + .transform((val) => parseInt(val)), }, /** @@ -73,6 +77,7 @@ export const env = createEnv({ SMTP_LOGIN: process.env.SMTP_LOGIN, SMTP_PASSWORD: process.env.SMTP_PASSWORD, WORKER_CONCURRENCY: process.env.WORKER_CONCURRENCY, + WORKER_MAX_POOL_SIZE: process.env.WORKER_MAX_POOL_SIZE, }, /** * Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. diff --git a/app/src/server/tasks/worker.ts b/app/src/server/tasks/worker.ts index 3da6c1e..1daff35 100644 --- a/app/src/server/tasks/worker.ts +++ b/app/src/server/tasks/worker.ts @@ -19,6 +19,7 @@ const taskList = registeredTasks.reduce((acc, task) => { const runner = await run({ connectionString: env.DATABASE_URL, concurrency: env.WORKER_CONCURRENCY, + maxPoolSize: env.WORKER_MAX_POOL_SIZE, // Install signal handlers for graceful shutdown on SIGINT, SIGTERM, etc noHandleSignals: false, pollInterval: 1000,