Commit e57be634f673cd8157ff88a3431783ed35836643

Authored by Adhidarma Hadiwinoto
1 parent cfdcd17330
Exists in master and in 1 other branch dev

Auto jumlah anak

Showing 2 changed files with 6 additions and 3 deletions Inline Diff

1 { 1 {
2 "name": "HTTPGETX", 2 "name": "HTTPGETX",
3 3
4 "# core_url": "Silahkan diisi dengan core url, bisa dikosongkan jika ingin membaca dari main config komodo", 4 "# core_url": "Silahkan diisi dengan core url, bisa dikosongkan jika ingin membaca dari main config komodo",
5 "core_url": "", 5 "core_url": "",
6 6
7 "listener": { 7 "listener": {
8 "partner": { 8 "partner": {
9 "port": 25614 9 "port": 25614
10 } 10 }
11 }, 11 },
12 12
13 "cluster": 0 13 "# cluster": "Diisi dengan boolean atau angka jumlah anak yang akan dibuat. Jika diisi boolean true, jumlah anak akan dihitung otomatis",
14 "cluster": false
14 } 15 }
1 process.chdir(__dirname); 1 process.chdir(__dirname);
2
2 const fs = require('fs'); 3 const fs = require('fs');
4 const numCPUs = require('os').cpus().length;
3 5
4 fs.writeFileSync('pid.txt', process.pid); 6 fs.writeFileSync('pid.txt', process.pid);
5 7
6 const config = require('komodo-sdk/config'); 8 const config = require('komodo-sdk/config');
7 9
8 global.KOMODO_LOG_LABEL = `KOMODO-CENTER@${config.name || 'HTTPGETX'}`; 10 global.KOMODO_LOG_LABEL = `KOMODO-CENTER@${config.name || 'HTTPGETX'}`;
9 process.title = global.KOMODO_LOG_LABEL; 11 process.title = global.KOMODO_LOG_LABEL;
10 12
11 const cluster = require('cluster'); 13 const cluster = require('cluster');
12 const logger = require('komodo-sdk/logger'); 14 const logger = require('komodo-sdk/logger');
13 15
14 if (config.cluster && cluster.isMaster) { 16 if (config.cluster && cluster.isMaster) {
15 logger.info(`Running on cluster mode. Master ${process.pid} is running`); 17 logger.info(`Running on cluster mode. Master ${process.pid} is running`);
16 18
17 // eslint-disable-next-line no-plusplus 19 const numberOfChildren = config.cluster === true ? numCPUs + 1 : config.cluster;
18 for (let i = 0; i < config.cluster; i++) { 20 for (let i = 0; i < numberOfChildren; i += 1) {
19 cluster.fork(); 21 cluster.fork();
20 } 22 }
21 } else { 23 } else {
22 if (config.cluster) { 24 if (config.cluster) {
23 logger.info(`Worker ${process.pid} started`); 25 logger.info(`Worker ${process.pid} started`);
24 } 26 }
25 27
26 // eslint-disable-next-line global-require 28 // eslint-disable-next-line global-require
27 require('./lib/core-callback'); 29 require('./lib/core-callback');
28 // eslint-disable-next-line global-require 30 // eslint-disable-next-line global-require
29 require('./lib/listener-partner'); 31 require('./lib/listener-partner');
30 } 32 }
31 33