easy-swoole / easyswoole

swoole,easyswoole,swoole framework
https://www.easyswoole.com/
Apache License 2.0
4.74k stars 510 forks source link

关于Invoker中计时器alarm 和连接池中swoole_timer_tick冲突的问题 #159

Closed chenjing0521 closed 5 years ago

chenjing0521 commented 5 years ago

1 2

这两个方法中的方法会冲突导致Invoker中的防止超时的函数有警告作物导致失效,但是函数体中的回调会执行

警告错误:easyswoole/component/src/Invoker.php][line:24]Swoole\Process::alarm(): cannot use both 'timer' and 'alarm' at the same time.

官方给出的错误原因是,linux底层不允许一个进程中有两个计时器,这该怎么解决呢?请问使用了Pool 难道就不能使用Invoker

kiss291323003 commented 5 years ago

这个invoker方法仅仅能用在同步模式中。不可以用在协程里面。协程请用timeoit参数