需要用到定時器,設(shè)置了兩個定時器對比效果,一個是Timer::add,一個是crontab定時,都是間隔5秒打印字符串,crontab運行時間總是會出現(xiàn)意外,不執(zhí)行,或者時間不是5秒,感覺是 webman\process\Task.php 進程文件有些問題,求大神指點
#文件 \webman\plugin\webman\gateway\Events.php
Timer::add(5, function () use($c){
echo date('Y-m-d H:i:s',time()).'-666-'."\n";
});
#文件 webman\process\Task.php
Timer::add(5, function () use($c){
echo date('Y-m-d H:i:s',time()).'-555-'."\n";
});
new Crontab('*/5 * * * * *', function()use($c){
echo date('Y-m-d H:i:s',time()).'-9-9-9-'."\n";
});
運行結(jié)果
2022-10-12 11:39:01-9-9-9-
2022-10-12 11:39:05-555-
2022-10-12 11:39:05-666-
2022-10-12 11:39:06-9-9-9-
2022-10-12 11:39:10-555-
2022-10-12 11:39:10-666-
2022-10-12 11:39:11-9-9-9-
2022-10-12 11:39:15-555-
2022-10-12 11:39:15-666-
2022-10-12 11:39:16-9-9-9-
2022-10-12 11:39:20-555-
2022-10-12 11:39:20-666-
2022-10-12 11:39:21-9-9-9-
2022-10-12 11:39:25-555-
2022-10-12 11:39:25-666-
2022-10-12 11:39:26-9-9-9-
2022-10-12 11:39:30-555-
2022-10-12 11:39:30-666-
2022-10-12 11:39:31-9-9-9-
2022-10-12 11:39:35-555-
2022-10-12 11:39:35-666-
2022-10-12 11:39:36-9-9-9-
2022-10-12 11:39:40-555-
2022-10-12 11:39:40-666-
2022-10-12 11:39:41-9-9-9-
2022-10-12 11:39:45-555-
2022-10-12 11:39:45-666-
2022-10-12 11:39:46-9-9-9-
2022-10-12 11:39:50-555-
2022-10-12 11:39:50-666-
2022-10-12 11:39:51-9-9-9-
2022-10-12 11:39:55-555-
2022-10-12 11:39:55-666-
2022-10-12 11:39:56-9-9-9-
2022-10-12 11:40:00-9-9-9-
2022-10-12 11:40:00-666-
2022-10-12 11:40:05-666-
2022-10-12 11:40:10-555-
2022-10-12 11:40:10-666-
2022-10-12 11:40:15-666-
2022-10-12 11:40:20-666-
2022-10-12 11:40:25-666-
2022-10-12 11:40:30-666-
2022-10-12 11:40:35-666-
2022-10-12 11:40:40-666-
2022-10-12 11:40:45-666-
2022-10-12 11:40:50-9-9-9-
2022-10-12 11:40:50-666-
2022-10-12 11:40:55-666-
2022-10-12 11:41:00-666-
2022-10-12 11:41:05-666-
2022-10-12 11:41:10-666-
2022-10-12 11:41:15-666-
2022-10-12 11:41:20-666-
2022-10-12 11:41:25-666-
2022-10-12 11:41:30-666-
剛開始運行正常,大概過幾分鐘,webman\process\Task.php 進程件中打印的兩個定時就出問題了
Ubuntu 20.04.5 LTS Workerman version:4.0.39 PHP version:7.4.32
root@localhost:~# /usr/bin/php7.4 /www/webman_haining/start.php start
Workerman[/www/webman_haining/start.php] start in DEBUG mode
-------------------------------------------------------- WORKERMAN --------------------------------------------------------
Workerman version:4.0.39 PHP version:7.4.32 Event-Loop:\Workerman\Events\Select
--------------------------------------------------------- WORKERS ---------------------------------------------------------
proto user worker listen processes status
tcp root webman http://0.0.0.0:8787 1 [OK]
tcp root monitor none 1 [OK]
tcp root task none 1 [OK]
tcp root plugin.webman.gateway-worker.gateway websocket://0.0.0.0:7273 4 [OK]
tcp root plugin.webman.gateway-worker.worker none 8 [OK]
tcp root plugin.webman.gateway-worker.register text://0.0.0.0:1236 1 [OK]
---------------------------------------------------------------------------------------------------------------------------