Egg: 在linux下,startCluster启动报错,mac下正常启动

Created on 12 Jun 2017  ·  10Comments  ·  Source: eggjs/egg

启动命令:EGG_SERVER_ENV=prod nohup node dispatch.js > stdout.log 2> stderr.log &

error-log:

2017-06-12 18:50:30,235 ERROR 17045 [app_worker] exit with code:1
2017-06-12 18:50:30,246 ERROR 17093 [app_worker] exit with code:1
[Mon Jun 12 2017 18:50:30 GMT+0800 (CST)] [cfork:master:16928] worker:17045 disconnect (exitedAfterDisconnect: false, state: disconnected, isDead: false)
2017-06-12 18:50:30,270 ERROR 17061 [app_worker] exit with code:1
[Mon Jun 12 2017 18:50:30 GMT+0800 (CST)] [cfork:master:16928] new worker:18054 fork (state: none)
[Mon Jun 12 2017 18:50:30 GMT+0800 (CST)] [cfork:master:16928] worker:17093 disconnect (exitedAfterDisconnect: false, state: disconnected, isDead: false)
[Mon Jun 12 2017 18:50:30 GMT+0800 (CST)] [cfork:master:16928] new worker:18100 fork (state: none)
[Mon Jun 12 2017 18:50:30 GMT+0800 (CST)] [cfork:master:16928] worker:17045 exit (code: 1, exitedAfterDisconnect: false, state: dead, isDead: true, isExpected: true)
2017-06-12 18:50:30,312 ERROR 16928 nodejs.AppWorkerDiedError: [master] app_worker#5:17045 died (code: 1, signal: 1, suicide: false, state: dead), current workers: ["1","2","3","4","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34"]
    at Master.onAppExit (workspace/node_modules/egg-cluster/lib/master.js:326:19)
    at emitOne (events.js:115:13)
    at Master.emit (events.js:210:7)
    at Messenger.sendToMaster (workspace/node_modules/egg-cluster/lib/utils/messenger.js:122:17)
    at Messenger.send (workspace/node_modules/egg-cluster/lib/utils/messenger.js:87:12)
    at EventEmitter.cluster.on (workspace/node_modules/egg-cluster/lib/master.js:223:22)
    at emitThree (events.js:140:20)
    at EventEmitter.emit (events.js:216:7)
    at ChildProcess.worker.process.once (internal/cluster/master.js:179:13)
    at Object.onceWrapper (events.js:312:19)
name: 'AppWorkerDiedError'
pid: 16928
hostname: ***

2017-06-12 18:50:30,314 ERROR 16928 [master] app_worker#5:17045 start fail, exiting with code:1
2017-06-12 18:50:30,315 ERROR 16928 [master] exit with code:1
2017-06-12 18:50:30,323 ERROR 16958 [agent_worker] receive disconnect event on child_process fork mode, exiting with code:110
2017-06-12 18:50:30,323 ERROR 16958 [agent_worker] exit with code:110
2017-06-12 18:50:30,353 ERROR 17051 [app_worker] exit with code:1
2017-06-12 18:50:30,376 ERROR 17026 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false

Most helpful comment

current workers: ["1","2","3","4","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34"]
at Master.onAppExit (workspace/node_modules/egg-cluster/lib/master.js:326:19)

从这句来看,worker 数太多了,加个 --worker= 限制下

All 10 comments

@7213 遇到同样问题,请问怎么解决的?

直接用 egg-scripts 吧,看文档

same issue

直接用 egg-scripts 即可,看官方文档

same issue,
npm start 对应为 egg-scripts start --daemon --port=7997

current workers: ["1","2","3","4","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34"]
at Master.onAppExit (workspace/node_modules/egg-cluster/lib/master.js:326:19)

从这句来看,worker 数太多了,加个 --worker= 限制下

@atian25 请问--workers一般限制为多少合适?

image

经验值一般为 CPU 个数,上面那个问题是因为在 docker 里面,Node 的 os.cpuCount() API 获取出问题了,所以需要手动指定个数

@atian25 所以我这种情况是应该设为 2 个?我也是跑在docker里的,一下子给我开了64个worker

你 docker 容器配了几个 CPU 就设几个咯

Was this page helpful?
0 / 5 - 0 ratings