aboutsummaryrefslogtreecommitdiffstats
path: root/apps/workers
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-07-05 19:57:01 +0000
committerMohamed Bassem <me@mbassem.com>2025-07-05 19:57:01 +0000
commit5576361a1afa280abb256cafe17b7a140ee42adf (patch)
treeb61c60838336cdf24d2b69bd6321d03468bc3138 /apps/workers
parentd66b3b8619e8fff36c0243f7cc67eef864c5009b (diff)
downloadkarakeep-5576361a1afa280abb256cafe17b7a140ee42adf.tar.zst
feat(workers): Allow custmoizing max parallelism for a bunch of workers. Fixes #724
Diffstat (limited to 'apps/workers')
-rw-r--r--apps/workers/workers/assetPreprocessingWorker.ts2
-rw-r--r--apps/workers/workers/inference/inferenceWorker.ts2
-rw-r--r--apps/workers/workers/ruleEngineWorker.ts3
-rw-r--r--apps/workers/workers/searchWorker.ts3
-rw-r--r--apps/workers/workers/webhookWorker.ts2
5 files changed, 7 insertions, 5 deletions
diff --git a/apps/workers/workers/assetPreprocessingWorker.ts b/apps/workers/workers/assetPreprocessingWorker.ts
index 0c0b7aec..d43163ac 100644
--- a/apps/workers/workers/assetPreprocessingWorker.ts
+++ b/apps/workers/workers/assetPreprocessingWorker.ts
@@ -43,7 +43,7 @@ export class AssetPreprocessingWorker {
},
},
{
- concurrency: 1,
+ concurrency: serverConfig.assetPreprocessing.numWorkers,
pollIntervalMs: 1000,
timeoutSecs: 30,
},
diff --git a/apps/workers/workers/inference/inferenceWorker.ts b/apps/workers/workers/inference/inferenceWorker.ts
index f7492c8b..0dba6f58 100644
--- a/apps/workers/workers/inference/inferenceWorker.ts
+++ b/apps/workers/workers/inference/inferenceWorker.ts
@@ -58,7 +58,7 @@ export class OpenAiWorker {
},
},
{
- concurrency: 1,
+ concurrency: serverConfig.inference.numWorkers,
pollIntervalMs: 1000,
timeoutSecs: serverConfig.inference.jobTimeoutSec,
},
diff --git a/apps/workers/workers/ruleEngineWorker.ts b/apps/workers/workers/ruleEngineWorker.ts
index 427cc383..39f0a523 100644
--- a/apps/workers/workers/ruleEngineWorker.ts
+++ b/apps/workers/workers/ruleEngineWorker.ts
@@ -5,6 +5,7 @@ import { buildImpersonatingAuthedContext } from "trpc";
import type { ZRuleEngineRequest } from "@karakeep/shared/queues";
import { db } from "@karakeep/db";
import { bookmarks } from "@karakeep/db/schema";
+import serverConfig from "@karakeep/shared/config";
import logger from "@karakeep/shared/logger";
import {
RuleEngineQueue,
@@ -33,7 +34,7 @@ export class RuleEngineWorker {
},
},
{
- concurrency: 1,
+ concurrency: serverConfig.ruleEngine.numWorkers,
pollIntervalMs: 1000,
timeoutSecs: 10,
validator: zRuleEngineRequestSchema,
diff --git a/apps/workers/workers/searchWorker.ts b/apps/workers/workers/searchWorker.ts
index e7b827a9..13243152 100644
--- a/apps/workers/workers/searchWorker.ts
+++ b/apps/workers/workers/searchWorker.ts
@@ -4,6 +4,7 @@ import { DequeuedJob, Runner } from "liteque";
import type { ZSearchIndexingRequest } from "@karakeep/shared/queues";
import { db } from "@karakeep/db";
import { bookmarks } from "@karakeep/db/schema";
+import serverConfig from "@karakeep/shared/config";
import logger from "@karakeep/shared/logger";
import {
SearchIndexingQueue,
@@ -32,7 +33,7 @@ export class SearchIndexingWorker {
},
},
{
- concurrency: 1,
+ concurrency: serverConfig.search.numWorkers,
pollIntervalMs: 1000,
timeoutSecs: 30,
},
diff --git a/apps/workers/workers/webhookWorker.ts b/apps/workers/workers/webhookWorker.ts
index f42266dd..504f7f9b 100644
--- a/apps/workers/workers/webhookWorker.ts
+++ b/apps/workers/workers/webhookWorker.ts
@@ -33,7 +33,7 @@ export class WebhookWorker {
},
},
{
- concurrency: 1,
+ concurrency: serverConfig.webhook.numWorkers,
pollIntervalMs: 1000,
timeoutSecs:
serverConfig.webhook.timeoutSec *