summaryrefslogtreecommitdiff
path: root/packages/backend/src/boot/worker.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/boot/worker.ts')
-rw-r--r--packages/backend/src/boot/worker.ts20
1 files changed, 16 insertions, 4 deletions
diff --git a/packages/backend/src/boot/worker.ts b/packages/backend/src/boot/worker.ts
index 8038e25631..91f0c76317 100644
--- a/packages/backend/src/boot/worker.ts
+++ b/packages/backend/src/boot/worker.ts
@@ -1,17 +1,29 @@
import cluster from 'node:cluster';
-import { initDb } from '../db/postgre.js';
+import { NestFactory } from '@nestjs/core';
+import { envOption } from '@/env.js';
+import { ChartManagementService } from '@/core/chart/ChartManagementService.js';
+import { ServerService } from '@/server/ServerService.js';
+import { QueueProcessorService } from '@/queue/QueueProcessorService.js';
+import { AppModule } from '../AppModule.js';
/**
* Init worker process
*/
export async function workerMain() {
- await initDb();
+ const app = await NestFactory.createApplicationContext(AppModule);
+ app.enableShutdownHooks();
// start server
- await import('../server/index.js').then(x => x.default());
+ const serverService = app.get(ServerService);
+ serverService.launch();
// start job queue
- import('../queue/index.js').then(x => x.default());
+ if (!envOption.onlyServer) {
+ const queueProcessorService = app.get(QueueProcessorService);
+ queueProcessorService.start();
+ }
+
+ app.get(ChartManagementService).run();
if (cluster.isWorker) {
// Send a 'ready' message to parent process