UNPKG

801 BPlain TextView Raw
1const cluster = require('cluster')
2
3if (cluster.isMaster) {
4 global['__init__'] = false
5 const numCPUs = require('os').cpus().length
6 for (let i = 0; i < numCPUs; i++) {
7 // 创建子进程模拟线上请求的隔离方便global变量的使用保持与FC环境的一致性
8 let worker = cluster.fork()
9 worker.on('message', function(msg) {
10 if(!global['__init__']){
11 console.log(msg)
12 global['__init__'] = true
13 }
14 })
15 }
16 cluster.on('exit', function (worker, code, signal) {
17 // console.log('Worker %d died with code/signal %s. Restarting worker...', worker.process.pid, signal || code);
18 cluster.fork()
19 })
20} else {
21 // 子进程的初始化功能实现
22 require('./test-client')
23}