processTimeout
设置监控服务端业务超时时间(单位秒)。不设置默认是30秒,设置为0表示不监控。
此属性用于监控Events::onConnect Events::onMessage Events::onClose
的执行时间,单次执行时间如果超过设定的值,则记录一条日志到workerman.log,日志中包含超时的调用栈,这对于排查业务长时间阻塞以及死循环等问题非常有帮助。
注意:
2、不支持windows系统
3、此属性需要在Events.php文件头部设置一条语句declare(ticks=1);
才能生效,见下面示例。
范例
start_businessworker.php
需要在文件头部增加语句,添加后运行php start.php reload
即可生效。
以上应用运行后,会在GatewayWorker/workerman.log(设置Worker::$logFile可以更改日志路径)里面产生业务超时日志,日志内容类似如下。
从上面日志中可以看到业务代码在/home/GatewayWorker/Applications/YourApp/Events.php的第14行运行Event::testTimeout()时超时