From 0e28d3a2fde8ce0378fdcc715dc1fff965cc1eda Mon Sep 17 00:00:00 2001 From: Dominic Ferrando Date: Fri, 17 Jul 2026 14:38:32 -0400 Subject: [PATCH] Add capacity for worker processes --- apps/api/src/index.ts | 5 ++--- apps/api/src/services/event-queue.ts | 2 +- apps/api/src/util.ts | 1 + 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/api/src/index.ts b/apps/api/src/index.ts index cb1376f..a7024dc 100644 --- a/apps/api/src/index.ts +++ b/apps/api/src/index.ts @@ -1,10 +1,9 @@ import cluster from 'node:cluster' import os from 'node:os' -import process from 'node:process' -import { log } from "./util"; +import { env, log } from "./util"; if (cluster.isPrimary) { - const n = os.availableParallelism(); + const n = Math.min(os.availableParallelism(), +env.MAX_WORKER_PROCESSES); log.info(`Starting ${n} worker processes`) for (let i = 0; i < n; i++) cluster.fork() diff --git a/apps/api/src/services/event-queue.ts b/apps/api/src/services/event-queue.ts index 9863f88..b3f371b 100644 --- a/apps/api/src/services/event-queue.ts +++ b/apps/api/src/services/event-queue.ts @@ -1,5 +1,5 @@ import { type Selectable, type Transaction } from "kysely"; -import type { DB, JsonValue } from "../database/out/db"; +import type { DB } from "../database/out/db"; import { log } from "../util"; import { sleep } from "bun"; import { db } from "../database/db"; diff --git a/apps/api/src/util.ts b/apps/api/src/util.ts index ca3cfb2..b22b2cb 100644 --- a/apps/api/src/util.ts +++ b/apps/api/src/util.ts @@ -19,6 +19,7 @@ export const env = { AUTH_SECRET: requireEnv("AUTH_SECRET"), ADMIN_PASSWORD: requireEnv("ADMIN_PASSWORD"), DATABASE_URL: requireEnv("DATABASE_URL"), + MAX_WORKER_PROCESSES: requireEnv("MAX_WORKER_PROCESSES"), NODE_ENV: optionEnv("NODE_ENV", "development"), LOG_LEVEL: optionEnv("LOG_LEVEL", "info"), };