現(xiàn)在我發(fā)現(xiàn)是在Socket 里的Timer 會停止操作,想知道這個是什么原因導致? 有幾種可能問題,并在workerman.log沒有什么Error,所以需要大家?guī)兔σ幌拢x謝
如何判斷停止工作的? 下次懷疑停止工作的時候運行下 php start.php status 截圖下結果
我們問題不是 Socket 停止工作,但是 Timer消失,我們知道Timer消失是因為 Application Log 的Timer的數(shù)據都消失了
想知道這個是什么原因導致 Timer 停止工作或者 Timer有效期嗎?工作了一段時間會自己停止
我問的也是Timer。。。下次有問題的時候status下截圖
@1: 如下是我們Status圖
status下截圖 ,請幫忙看看一下是這樣status 有問題嗎?
看起來是有兩個businessWorker進程的業(yè)務代碼出現(xiàn)問題了。一共9個進程,status里只出現(xiàn)了7個,對比ps aux命令找到消失的businessWorker的pid,利用 strace 和 lsof命令應該能定位到。定位方法參考手冊http://doc.workerman.net/debug/busy-process.html。
出現(xiàn)這個問題的原因一般是因為業(yè)務代碼死循環(huán),或者有訪問外部數(shù)據庫/redis等存儲或者調用外部接口沒處理好超時時間超時了,導致業(yè)務一直阻塞等待。
再問一下一個問題 total_request里,可不可以把它減低呢? 現(xiàn)在感覺上繼續(xù)增加很多的
重啟就清零了
除了重啟方式,還有其他方式嗎? 不然會要一直重啟的
@1 可以幫忙一下嗎?
total_request就是一個統(tǒng)計值,增加對你有什么影響么?
我也不確定會不會影響 -*-,但是重啟了Socket,會顯示完成9個進程,過了一段時間會添加上來,然后會消失所以不確定是什么原因