diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-09-18 23:17:32 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-09-18 23:17:32 +0900 |
| commit | a66111ac1fa744a66f48d59484fad4c3d8837731 (patch) | |
| tree | 29b3a2fadf80bab8bc8257895ffd14f742ab05b2 /packages/backend/src/boot | |
| parent | 12.120.0-alpha.1 (diff) | |
| download | misskey-a66111ac1fa744a66f48d59484fad4c3d8837731.tar.gz misskey-a66111ac1fa744a66f48d59484fad4c3d8837731.tar.bz2 misskey-a66111ac1fa744a66f48d59484fad4c3d8837731.zip | |
refactor(backend): simplify boot
Diffstat (limited to 'packages/backend/src/boot')
| -rw-r--r-- | packages/backend/src/boot/index.ts | 60 |
1 files changed, 31 insertions, 29 deletions
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'); +} |