const cluster = require('cluster'); const numCPUs = require('os').cpus().length; const express = require('express'); const config = require('komodo-sdk/config'); const logger = require('komodo-sdk/logger'); const app = express(); const listenPort = config.webservice.port || config.webservice.listen_port; const routerPriceplan = require('./router/priceplan'); app.use('/apikey/:apikey/priceplan', routerPriceplan); if (cluster.isMaster) { logger.info(`Master ${process.pid} is running`); // Fork workers. for (let i = 0; i < numCPUs; i += 1) { cluster.fork(); } cluster.on('exit', (worker) => { logger.info(`worker ${worker.process.pid} died`); }); } else { app.listen(listenPort, () => { logger.info(`WEBSERVICE ${process.pid} listen on ${listenPort}`); }); }