aboutsummaryrefslogtreecommitdiffstats
path: root/apps/workers/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/workers/index.ts')
-rw-r--r--apps/workers/index.ts9
1 files changed, 9 insertions, 0 deletions
diff --git a/apps/workers/index.ts b/apps/workers/index.ts
index 38f831d7..b605b50f 100644
--- a/apps/workers/index.ts
+++ b/apps/workers/index.ts
@@ -13,6 +13,7 @@ import logger from "@karakeep/shared/logger";
import { shutdownPromise } from "./exit";
import { AdminMaintenanceWorker } from "./workers/adminMaintenanceWorker";
import { AssetPreprocessingWorker } from "./workers/assetPreprocessingWorker";
+import { BackupSchedulingWorker, BackupWorker } from "./workers/backupWorker";
import { CrawlerWorker } from "./workers/crawlerWorker";
import { FeedRefreshingWorker, FeedWorker } from "./workers/feedWorker";
import { OpenAiWorker } from "./workers/inference/inferenceWorker";
@@ -31,6 +32,7 @@ const workerBuilders = {
assetPreprocessing: () => AssetPreprocessingWorker.build(),
webhook: () => WebhookWorker.build(),
ruleEngine: () => RuleEngineWorker.build(),
+ backup: () => BackupWorker.build(),
} as const;
type WorkerName = keyof typeof workerBuilders;
@@ -69,6 +71,10 @@ async function main() {
FeedRefreshingWorker.start();
}
+ if (workers.some((w) => w.name === "backup")) {
+ BackupSchedulingWorker.start();
+ }
+
await Promise.any([
Promise.all([
...workers.map(({ worker }) => worker.run()),
@@ -84,6 +90,9 @@ async function main() {
if (workers.some((w) => w.name === "feed")) {
FeedRefreshingWorker.stop();
}
+ if (workers.some((w) => w.name === "backup")) {
+ BackupSchedulingWorker.stop();
+ }
for (const { worker } of workers) {
worker.stop();
}