From a66111ac1fa744a66f48d59484fad4c3d8837731 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 18 Sep 2022 23:17:32 +0900 Subject: refactor(backend): simplify boot --- packages/backend/src/boot/index.ts | 60 ++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 29 deletions(-) (limited to 'packages/backend/src/boot') diff --git a/packages/backend/src/boot/index.ts b/packages/backend/src/boot/index.ts index f67b09b1cc..fbf9e73e09 100644 --- a/packages/backend/src/boot/index.ts +++ b/packages/backend/src/boot/index.ts @@ -1,43 +1,27 @@ + +/** + * Misskey Entry Point! + */ + import cluster from 'node:cluster'; +import { EventEmitter } from 'node:events'; import chalk from 'chalk'; import Xev from 'xev'; - import Logger from '@/logger.js'; import { envOption } from '../env.js'; - -// for typeorm -import 'reflect-metadata'; import { masterMain } from './master.js'; import { workerMain } from './worker.js'; -const logger = new Logger('core', 'cyan'); -const clusterLogger = logger.createSubLogger('cluster', 'orange', false); -const ev = new Xev(); - -/** - * Init process - */ -export default async function() { - process.title = `Misskey (${cluster.isPrimary ? 'master' : 'worker'})`; - - if (cluster.isPrimary || envOption.disableClustering) { - await masterMain(); +import 'reflect-metadata'; - if (cluster.isPrimary) { - ev.mount(); - } - } +process.title = `Misskey (${cluster.isPrimary ? 'master' : 'worker'})`; - if (cluster.isWorker || envOption.disableClustering) { - await workerMain(); - } +Error.stackTraceLimit = Infinity; +EventEmitter.defaultMaxListeners = 128; - // ユニットテスト時にMisskeyが子プロセスで起動された時のため - // それ以外のときは process.send は使えないので弾く - if (process.send) { - process.send('ok'); - } -} +const logger = new Logger('core', 'cyan'); +const clusterLogger = logger.createSubLogger('cluster', 'orange', false); +const ev = new Xev(); //#region Events @@ -77,3 +61,21 @@ process.on('exit', code => { }); //#endregion + +if (cluster.isPrimary || envOption.disableClustering) { + await masterMain(); + + if (cluster.isPrimary) { + ev.mount(); + } +} + +if (cluster.isWorker || envOption.disableClustering) { + await workerMain(); +} + +// ユニットテスト時にMisskeyが子プロセスで起動された時のため +// それ以外のときは process.send は使えないので弾く +if (process.send) { + process.send('ok'); +} -- cgit v1.2.3-freya