UNPKG

3.05 kBJavaScriptView Raw
1var cluster = require('cluster');
2if (cluster.isMaster) {
3 global['__init__'] = false;
4 var numCPUs = require('os').cpus().length;
5 for (var i = 0; i < numCPUs; i++) {
6 // 创建子进程模拟线上请求的隔离方便global变量的使用保持与FC环境的一致性
7 var worker = cluster.fork();
8 worker.on('message', function (msg) {
9 if (!global['__init__']) {
10 console.log(msg);
11 global['__init__'] = true;
12 }
13 });
14 }
15 cluster.on('exit', function (worker, code, signal) {
16 // console.log('Worker %d died with code/signal %s. Restarting worker...', worker.process.pid, signal || code);
17 cluster.fork();
18 });
19}
20else {
21 // 子进程的初始化功能实现
22 require('./test-client');
23}
24//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBRWxDLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtJQUNsQixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFBO0lBQzFCLElBQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUE7SUFDM0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUM5Qix5Q0FBeUM7UUFDekMsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQzNCLE1BQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVMsR0FBRztZQUM3QixJQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFDO2dCQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUNoQixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFBO2FBQzVCO1FBQ0wsQ0FBQyxDQUFDLENBQUE7S0FDTDtJQUNELE9BQU8sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNO1FBQzdDLCtHQUErRztRQUMvRyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDbEIsQ0FBQyxDQUFDLENBQUE7Q0FDTDtLQUFNO0lBQ0gsY0FBYztJQUNkLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtDQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNsdXN0ZXIgPSByZXF1aXJlKCdjbHVzdGVyJylcblxuaWYgKGNsdXN0ZXIuaXNNYXN0ZXIpIHtcbiAgICBnbG9iYWxbJ19faW5pdF9fJ10gPSBmYWxzZVxuICAgIGNvbnN0IG51bUNQVXMgPSByZXF1aXJlKCdvcycpLmNwdXMoKS5sZW5ndGhcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bUNQVXM7IGkrKykge1xuICAgICAgICAvLyDliJvlu7rlrZDov5vnqIvmqKHmi5/nur/kuIror7fmsYLnmoTpmpTnprvmlrnkvr9nbG9iYWzlj5jph4/nmoTkvb/nlKjkv53mjIHkuI5GQ+eOr+Wig+eahOS4gOiHtOaAp1xuICAgICAgICBsZXQgd29ya2VyID0gY2x1c3Rlci5mb3JrKClcbiAgICAgICAgd29ya2VyLm9uKCdtZXNzYWdlJywgZnVuY3Rpb24obXNnKSB7XG4gICAgICAgICAgICBpZighZ2xvYmFsWydfX2luaXRfXyddKXtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhtc2cpXG4gICAgICAgICAgICAgICAgZ2xvYmFsWydfX2luaXRfXyddID0gdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cbiAgICBjbHVzdGVyLm9uKCdleGl0JywgZnVuY3Rpb24gKHdvcmtlciwgY29kZSwgc2lnbmFsKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdXb3JrZXIgJWQgZGllZCB3aXRoIGNvZGUvc2lnbmFsICVzLiBSZXN0YXJ0aW5nIHdvcmtlci4uLicsIHdvcmtlci5wcm9jZXNzLnBpZCwgc2lnbmFsIHx8IGNvZGUpO1xuICAgICAgICBjbHVzdGVyLmZvcmsoKVxuICAgIH0pXG59IGVsc2Uge1xuICAgIC8vIOWtkOi/m+eoi+eahOWIneWni+WMluWKn+iDveWunueOsFxuICAgIHJlcXVpcmUoJy4vdGVzdC1jbGllbnQnKVxufVxuIl19
\No newline at end of file