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();
}
最佳答案

没人回答,那我就自问自答了。本人的答案如下:

Timer::tick(100, function () {});
while(true) {
    // 因为有100ms的定时器,所以就不会一直阻塞事件的发生。这么看类似于Redis的时间事件+文件事件。
    Event::dispatch();
}
2年前 评论
讨论数量: 1

没人回答,那我就自问自答了。本人的答案如下:

Timer::tick(100, function () {});
while(true) {
    // 因为有100ms的定时器,所以就不会一直阻塞事件的发生。这么看类似于Redis的时间事件+文件事件。
    Event::dispatch();
}
2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!