Swoole的Event::dispatch如何设置超时?
大家好,这里想请教大家一个问题。Swoole 的 Event::dispatch()
该如何设置超时呢?如在用PHP的select
函数还是可以设置超时时间的,但是在用Swoole的Event
时在官方文档也没找到设置的方法。希望得到大家的帮助,谢谢!
我想要解决的问题大概如下:
while(true) {
// 因为这个地方处于阻塞等待事件的发生,导致后续的逻辑都无法请求。
Event::dispatch();
// do something
}
我后来自己通过测试得到一个解决方案,但是很不好感觉。这里贴出来讨论下是否可行。
Timer::tick(100, function () {});
while(true) {
// 因为有100ms的定时器,所以就不会一直阻塞事件的发生。这么看类似于Redis的时间事件+文件事件。
Event::dispatch();
}
推荐文章: