mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +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",
|
"name": "hydrooj",
|
||||||
"version": "2.19.2",
|
"version": "2.19.3",
|
||||||
"bin": "bin/hydrooj.js",
|
"bin": "bin/hydrooj.js",
|
||||||
"main": "dist/loader.js",
|
"main": "dist/loader.js",
|
||||||
"typings": "dist/loader.d.ts",
|
"typings": "dist/loader.d.ts",
|
||||||
|
|||||||
@@ -97,8 +97,8 @@ async function stopWorker() {
|
|||||||
cluster.disconnect();
|
cluster.disconnect();
|
||||||
}
|
}
|
||||||
|
|
||||||
async function startWorker(cnt: number) {
|
async function startWorker(cnt: number, createFirst = true) {
|
||||||
await fork(['--firstWorker']);
|
await fork(createFirst ? ['--firstWorker'] : undefined);
|
||||||
for (let i = 1; i < cnt; i++) await fork();
|
for (let i = 1; i < cnt; i++) await fork();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,6 +158,7 @@ export async function load() {
|
|||||||
logger.info('Master started');
|
logger.info('Master started');
|
||||||
cluster.on('exit', (worker, code, signal) => {
|
cluster.on('exit', (worker, code, signal) => {
|
||||||
logger.warn(`Worker ${worker.process.pid} ${worker.id} exit: ${code} ${signal}`);
|
logger.warn(`Worker ${worker.process.pid} ${worker.id} exit: ${code} ${signal}`);
|
||||||
|
if (code) startWorker(1);
|
||||||
});
|
});
|
||||||
cluster.on('disconnect', (worker) => {
|
cluster.on('disconnect', (worker) => {
|
||||||
logger.info(`Worker ${worker.process.pid} ${worker.id} disconnected`);
|
logger.info(`Worker ${worker.process.pid} ${worker.id} disconnected`);
|
||||||
|
|||||||
Reference in new issue
Block a user