cluster.on("exit", function(worker, code, signal){ if((code !== 0) && !worker.exitedAfterDisconnect){ console.warn("Worker " + worker.id + " crashed. Starting a new worker..."); cluster.fork(); refresh_pool(); } });
cluster.on('exit', (worker) => { log.warn(`worker ${worker.process.pid} died`); if (!worker.exitedAfterDisconnect && !worker.hasForked) { cluster.fork(); } });
cluster.on('exit', (worker, code, signal)=> { if (code!==0 && !worker.exitedAfterDisconnect){ console.log('Worker %d died with code/signal %s. Restarting worker...', worker.process.pid, signal || code); createWorker(); } });
//signal of workers restart process.on("SIGUSR2", () => { const workers = Object.keys(cluster.workers); console.log("workers: ", workers); //recursive function over workers const restartWorker = workerIndex => { if (workerIndex >= workers.length) return; const worker = cluster.workers[workers[workerIndex]]; console.log(`Stopping worker: ${worker.process.pid}`); worker.disconnect(); // disconnect task worker.on("exit", () => { if (!worker.exitedAfterDisconnect) return; // when the worker was disconnected we can start a new one const newWorker = cluster.fork(); newWorker.on("listening", () => { // once the new worker is listerning we can restart the next worker restartWorker(workerIndex + 1); }); }); }; restartWorker(0); });
logging.info(`Worker ${worker.process.pid} died with code: ${code} and signal: ${signal}`); if (code !== 0 && !worker.exitedAfterDisconnect) { logging.info('Starting a new worker'); const newWorker = cluster.fork();
cluster.on("exit",(worker,code,signal)=>{ console.log(`Worker has died :${worker.process.pid}`); if(!worker.exitedAfterDisconnect){ cluster.fork(); } });
cluster.on("exit", (worker, code) => { // worker finished because of an error if (code !== 0 && !worker.exitedAfterDisconnect) { console.log("Worker crashed. Starting a new one"); cluster.fork(); } });
cluster.on("exit", (worker, code) => { // worker finished because of an error if (code !== 0 && !worker.exitedAfterDisconnect) { console.log("Worker crashed. Starting a new one"); cluster.fork(); } });
//signal of workers restart process.on("SIGUSR2", () => { const workers = Object.keys(cluster.workers); console.log("workers: ", workers); //recursive function over workers function restartWorker(i) { if (i >= workers.length) return; const worker = cluster.workers[workers[i]]; console.log(`Stopping worker: ${worker.process.pid}`); worker.disconnect(); // disconnect task worker.on("exit", () => { if (!worker.exitedAfterDisconnect) return; // when the worker was disconnected we can start a new one const newWorker = cluster.fork(); newWorker.on("listening", () => { // once the new worker is listerning we can restart the next worker restartWorker(i + 1); }); }); } restartWorker(0); });