diff options
Diffstat (limited to 'packages/backend/src/boot/worker.ts')
| -rw-r--r-- | packages/backend/src/boot/worker.ts | 20 |
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 |