index.js
825 Bytes
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}`);
});
}