From 9a8a054293d79a60751ce09b9d4bf47a0a92fd4c Mon Sep 17 00:00:00 2001 From: Phillip Ho Date: Fri, 4 Jul 2025 02:12:14 +0800 Subject: [PATCH] chore: expose webhook concurrency in env var (#904) --- src/shared/utils/env.ts | 3 +++ src/worker/tasks/send-webhook-worker.ts | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/shared/utils/env.ts b/src/shared/utils/env.ts index 4d2f5734..3db48dcb 100644 --- a/src/shared/utils/env.ts +++ b/src/shared/utils/env.ts @@ -94,6 +94,8 @@ export const env = createEnv({ CUSTOM_HMAC_AUTH_CLIENT_ID: z.string().optional(), CUSTOM_HMAC_AUTH_CLIENT_SECRET: z.string().optional(), + SEND_WEBHOOK_QUEUE_CONCURRENCY: z.coerce.number().default(10), + /** * Experimental env vars. These may be renamed or removed in future non-major releases. */ @@ -167,6 +169,7 @@ export const env = createEnv({ process.env.EXPERIMENTAL__MINE_WORKER_MAX_POLL_INTERVAL_SECONDS, EXPERIMENTAL__MINE_WORKER_POLL_INTERVAL_SCALING_FACTOR: process.env.EXPERIMENTAL__MINE_WORKER_POLL_INTERVAL_SCALING_FACTOR, + SEND_WEBHOOK_QUEUE_CONCURRENCY: process.env.SEND_WEBHOOK_QUEUE_CONCURRENCY, }, onValidationError: (error: ZodError) => { console.error( diff --git a/src/worker/tasks/send-webhook-worker.ts b/src/worker/tasks/send-webhook-worker.ts index 61649133..7b2037c2 100644 --- a/src/worker/tasks/send-webhook-worker.ts +++ b/src/worker/tasks/send-webhook-worker.ts @@ -23,6 +23,7 @@ import { SendWebhookQueue, type WebhookJob, } from "../queues/send-webhook-queue"; +import { env } from "../../shared/utils/env"; const handler: Processor = async (job: Job) => { const { data, webhook } = superjson.parse(job.data); @@ -102,7 +103,7 @@ const handler: Processor = async (job: Job) => { // Must be explicitly called for the worker to run on this host. export const initSendWebhookWorker = () => { new Worker(SendWebhookQueue.q.name, handler, { - concurrency: 10, + concurrency: env.SEND_WEBHOOK_QUEUE_CONCURRENCY, connection: redis, }); };