tatry
Version:
Elevation API server.
32 lines (27 loc) • 770 B
JavaScript
try {
process.loadEnvFile('/etc/default/tatry');
} catch (err) {
console.error('Failed to load environment variables:', err.message);
}
const cluster = require('node:cluster');
const debug = require('debug')('tatry:cluster');
if (cluster.isMaster) {
cluster.setupMaster({
exec: 'index.js'
});
cluster.on('listening', function (worker, { address, port }) {
debug(`worker ${worker.process.pid} is now connected to ${address}:${port}`);
});
cluster.on('exit', function (worker) {
const {
process: { pid, exitCode }
} = worker;
debug(`worker ${pid} died ('${exitCode}'). restarting...`);
cluster.fork();
});
let workers = process.env.TATRY_WORKERS || 2;
while (workers--) {
cluster.fork();
}
}