UNPKG

bayon-core

Version:

A server side JavaScript MVC framework that support ECMAScript 6

34 lines (27 loc) 825 B
'use strict'; let cluster = require('cluster'); let debug = require('debug')('bayon:master'); module.exports = master; function onOnline(worker) { debug('Worker #%s is now online!', worker.process.pid); } function onListening(worker) { debug('Worker #%s is ready!', worker.process.pid); } function onDisconnect(worker) { console.error('disconnect!'); debug('Cluster %d died. restarting... ', worker.process.pid); cluster.fork(worker.process.env); } function bindEvents() { cluster.on('online', onOnline); cluster.on('listening', onListening); cluster.on('disconnect', onDisconnect); } function master(options) { let clusterCount = options.num; bindEvents(); for (let i = 0; i < clusterCount; i++) { cluster.fork(process.env); } }