@bxjs/base
Version:
bxjs base framework & api
24 lines • 3.05 kB
JavaScript
var cluster = require('cluster');
if (cluster.isMaster) {
global['__init__'] = false;
var numCPUs = require('os').cpus().length;
for (var i = 0; i < numCPUs; i++) {
// 创建子进程模拟线上请求的隔离方便global变量的使用保持与FC环境的一致性
var worker = cluster.fork();
worker.on('message', function (msg) {
if (!global['__init__']) {
console.log(msg);
global['__init__'] = true;
}
});
}
cluster.on('exit', function (worker, code, signal) {
// console.log('Worker %d died with code/signal %s. Restarting worker...', worker.process.pid, signal || code);
cluster.fork();
});
}
else {
// 子进程的初始化功能实现
require('./test-client');
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBRWxDLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtJQUNsQixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFBO0lBQzFCLElBQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUE7SUFDM0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUM5Qix5Q0FBeUM7UUFDekMsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQzNCLE1BQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVMsR0FBRztZQUM3QixJQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFDO2dCQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUNoQixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFBO2FBQzVCO1FBQ0wsQ0FBQyxDQUFDLENBQUE7S0FDTDtJQUNELE9BQU8sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNO1FBQzdDLCtHQUErRztRQUMvRyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDbEIsQ0FBQyxDQUFDLENBQUE7Q0FDTDtLQUFNO0lBQ0gsY0FBYztJQUNkLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtDQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNsdXN0ZXIgPSByZXF1aXJlKCdjbHVzdGVyJylcblxuaWYgKGNsdXN0ZXIuaXNNYXN0ZXIpIHtcbiAgICBnbG9iYWxbJ19faW5pdF9fJ10gPSBmYWxzZVxuICAgIGNvbnN0IG51bUNQVXMgPSByZXF1aXJlKCdvcycpLmNwdXMoKS5sZW5ndGhcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bUNQVXM7IGkrKykge1xuICAgICAgICAvLyDliJvlu7rlrZDov5vnqIvmqKHmi5/nur/kuIror7fmsYLnmoTpmpTnprvmlrnkvr9nbG9iYWzlj5jph4/nmoTkvb/nlKjkv53mjIHkuI5GQ+eOr+Wig+eahOS4gOiHtOaAp1xuICAgICAgICBsZXQgd29ya2VyID0gY2x1c3Rlci5mb3JrKClcbiAgICAgICAgd29ya2VyLm9uKCdtZXNzYWdlJywgZnVuY3Rpb24obXNnKSB7XG4gICAgICAgICAgICBpZighZ2xvYmFsWydfX2luaXRfXyddKXtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhtc2cpXG4gICAgICAgICAgICAgICAgZ2xvYmFsWydfX2luaXRfXyddID0gdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cbiAgICBjbHVzdGVyLm9uKCdleGl0JywgZnVuY3Rpb24gKHdvcmtlciwgY29kZSwgc2lnbmFsKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdXb3JrZXIgJWQgZGllZCB3aXRoIGNvZGUvc2lnbmFsICVzLiBSZXN0YXJ0aW5nIHdvcmtlci4uLicsIHdvcmtlci5wcm9jZXNzLnBpZCwgc2lnbmFsIHx8IGNvZGUpO1xuICAgICAgICBjbHVzdGVyLmZvcmsoKVxuICAgIH0pXG59IGVsc2Uge1xuICAgIC8vIOWtkOi/m+eoi+eahOWIneWni+WMluWKn+iDveWunueOsFxuICAgIHJlcXVpcmUoJy4vdGVzdC1jbGllbnQnKVxufVxuIl19