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()时超时