GatewayWorker 关闭时不触发 onWorkerStop函数

0

启动时会调用onWorkerStart, 但关闭时不调用onWorkerStop

已邀请:

walkor

赞同来自:

如何确认的onWorkerStop没有触发?

walkor

赞同来自:

看下业务代码是否有死循环或者sleep或者是耗时的操作。exit with status 9意思是进程卡在了业务代码里面,所以无法执行onWorkerStop

skl_TZ

赞同来自:

Timer算不算

walkor

赞同来自:

同样Timer的任务有耗时阻塞也会导致进程卡住

skl_TZ

赞同来自:

但是我stop了之后,我查了下,进程的确退出了,而且Timer是个全局的任务,workerman启动的时候就会启动,只要workerman还运行着,Timer也必须运行着。所以就算是要关闭Timer,我得在onWorkerStop函数中关闭。

walkor

赞同来自:

退出了是因为进程卡在你的业务代码里面出不来,被kill掉了
也不是Timer机制的问题,是你业务代码的问题
业务代码不要有死循环、不要有sleep、不要有长时间阻塞的操作

skl_TZ

赞同来自:

出现了,这是截图

skl_TZ

赞同来自:

嗯,是mac

walkor

赞同来自:

看起来是你的进程都阻塞住了,我在我的mac下试下

要回复问题请先登录注册