I've recently used the node cluster module. Now one thing I'm curious of, is it mandatory to kill the child process after sending the response back to the user? My current code:
app.get('/', (_, res) => {
res.send('Ok');
cluster.worker.kill(); //why do i have to kill it?
});
if (cluster.isMaster){
for (let i = 0; i < cpuCount; i++){
cluster.fork();
}
cluster.on('exit', (worker, code, signal) => {
console.log(`Worker process with pid: ${worker.process.pid} killed`);
cluster.fork(); //create a new instance
});
}else{
server.listen(port, () => {
console.log(`TCP Server listening on port ${port} | cpu cores: ${cpuCount} | Master: ${cluster.isMaster} | PID: ${process.pid}`);
});
}