mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-17 17:36:08 +08:00
core: start another worker on crash
This commit is contained in:
1 parent
fa9396afd0
commit
d33401c4e9
2 files changed
+4
-3
No files matched your search
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "hydrooj",
|
||||
"version": "2.19.2",
|
||||
"version": "2.19.3",
|
||||
"bin": "bin/hydrooj.js",
|
||||
"main": "dist/loader.js",
|
||||
"typings": "dist/loader.d.ts",
|
||||
|
||||
@@ -97,8 +97,8 @@ async function stopWorker() {
|
||||
cluster.disconnect();
|
||||
}
|
||||
|
||||
async function startWorker(cnt: number) {
|
||||
await fork(['--firstWorker']);
|
||||
async function startWorker(cnt: number, createFirst = true) {
|
||||
await fork(createFirst ? ['--firstWorker'] : undefined);
|
||||
for (let i = 1; i < cnt; i++) await fork();
|
||||
}
|
||||
|
||||
@@ -158,6 +158,7 @@ export async function load() {
|
||||
logger.info('Master started');
|
||||
cluster.on('exit', (worker, code, signal) => {
|
||||
logger.warn(`Worker ${worker.process.pid} ${worker.id} exit: ${code} ${signal}`);
|
||||
if (code) startWorker(1);
|
||||
});
|
||||
cluster.on('disconnect', (worker) => {
|
||||
logger.info(`Worker ${worker.process.pid} ${worker.id} disconnected`);
|
||||
|
||||
Reference in new issue
Block a user