enhance(server): onlyServer / onlyQueue オプションを復活

This commit is contained in:
syuilo
2023-01-23 20:07:48 +09:00
parent 7028b7331b
commit 7b73dd2d62
3 changed files with 53 additions and 38 deletions

View File

@@ -1,23 +1,18 @@
import cluster from 'node:cluster';
import { NestFactory } from '@nestjs/core';
import { ChartManagementService } from '@/core/chart/ChartManagementService.js';
import { QueueProcessorService } from '@/queue/QueueProcessorService.js';
import { NestLogger } from '@/NestLogger.js';
import { QueueProcessorModule } from '@/queue/QueueProcessorModule.js';
import { envOption } from '@/env.js';
import { jobQueue, server } from './common.js';
/**
* Init worker process
*/
export async function workerMain() {
const jobQueue = await NestFactory.createApplicationContext(QueueProcessorModule, {
logger: new NestLogger(),
});
jobQueue.enableShutdownHooks();
// start job queue
jobQueue.get(QueueProcessorService).start();
jobQueue.get(ChartManagementService).start();
if (envOption.onlyServer) {
await server();
} else if (envOption.onlyQueue) {
await jobQueue();
} else {
await jobQueue();
}
if (cluster.isWorker) {
// Send a 'ready' message to parent process