think\exception\ErrorException: Swoole\Timer::after(): Timer must be greater than or equal to 1 in /www/wwwroot/xxxxx.com/vendor/workerman/workerman/Events/Swoole.php:76
Swoole\Timer::after最小時間不能為0吧
打印下,看下Swoole\Timer::after() 傳入的參數(shù)是什么
[2021-03-05T11:13:00+08:00][ info ] {"fd":60,"flag":16,"func":{},"args":[]}
0
[2021-03-05T11:13:00+08:00][ info ] {"fd":1.0e-6,"flag":16,"func":{},"args":[]}
0
[2021-03-05T11:13:00+08:00][ info ] {"fd":1.0e-6,"flag":16,"func":{},"args":[]}
0
[2021-03-05T11:13:00+08:00][ info ] {"fd":1.0e-6,"flag":16,"func":{},"args":[]}
0
[2021-03-05T11:13:00+08:00][ info ] {"fd":60,"flag":16,"func":{},"args":[]}
有個fd為1.0e-6,按照代碼里寫的*1000后為0.01,就報錯了,Swoole\Timer::after()的時間指本來就是毫秒了,但卻傳了一個0.01,那不是workerman/workerman/Events/Swoole.php的問題,而是workerman/crontab那邊時間轉(zhuǎn)換傳遞的值不對吧?
在\Workerman\Crontab\Crontab 162行
Timer::add($t*1000, $cb, null, false);
在這里加入*1000就正常了(只針對Swoole),應(yīng)該不是規(guī)范的解決方案,還望作者修正。
在\Workerman\Crontab\Crontab 162行
Timer::add($t*1000, $cb, null, false);
在這里加入*1000就正常了(只針對Swoole),應(yīng)該不是規(guī)范的解決方案,還望作者修正。