1 | const cluster = require('cluster')
|
2 |
|
3 | if (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 | }
|