summaryrefslogtreecommitdiff
path: root/packages/backend/src/boot/common.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/boot/common.ts')
-rw-r--r--packages/backend/src/boot/common.ts35
1 files changed, 35 insertions, 0 deletions
diff --git a/packages/backend/src/boot/common.ts b/packages/backend/src/boot/common.ts
new file mode 100644
index 0000000000..04aa26e652
--- /dev/null
+++ b/packages/backend/src/boot/common.ts
@@ -0,0 +1,35 @@
+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 { JanitorService } from '@/daemons/JanitorService.js';
+import { QueueStatsService } from '@/daemons/QueueStatsService.js';
+import { ServerStatsService } from '@/daemons/ServerStatsService.js';
+import { ServerService } from '@/server/ServerService.js';
+import { MainModule } from '@/MainModule.js';
+
+export async function server() {
+ const app = await NestFactory.createApplicationContext(MainModule, {
+ logger: new NestLogger(),
+ });
+ app.enableShutdownHooks();
+
+ const serverService = app.get(ServerService);
+ serverService.launch();
+
+ app.get(ChartManagementService).start();
+ app.get(JanitorService).start();
+ app.get(QueueStatsService).start();
+ app.get(ServerStatsService).start();
+}
+
+export async function jobQueue() {
+ const jobQueue = await NestFactory.createApplicationContext(QueueProcessorModule, {
+ logger: new NestLogger(),
+ });
+ jobQueue.enableShutdownHooks();
+
+ jobQueue.get(QueueProcessorService).start();
+ jobQueue.get(ChartManagementService).start();
+}