关于在Socket里的 timer

0

现在我发现是在Socket 里的Timer 会停止操作,想知道这个是什么原因导致?
有几种可能问题,并在workerman.log没有什么Error,所以需要大家帮忙一下,谢谢

已邀请:

walkor

赞同来自: ehohpo

如何判断停止工作的?
下次怀疑停止工作的时候运行下 php start.php status 截图下结果

walkor

赞同来自: ehohpo

看起来是有两个businessWorker进程的业务代码出现问题了。一共9个进程,status里只出现了7个,对比ps aux命令找到消失的businessWorker的pid,利用 strace 和 lsof命令应该能定位到。定位方法参考手册http://doc.workerman.net/debug/busy-process.html。


出现这个问题的原因一般是因为业务代码死循环,或者有访问外部数据库/redis等存储或者调用外部接口没处理好超时时间超时了,导致业务一直阻塞等待。

ehohpo - Mint

赞同来自:

status下截图 ,请帮忙看看一下是这样status 有问题吗?

ehohpo - Mint

赞同来自:

再问一下一个问题 total_request里,可不可以把它减低呢? 现在感觉上继续增加很多的

要回复问题请先登录注册