定时器

最后更新于:2022-04-02 02:21:13

[TOC] ## 定时器 > [参考](https://www.easyswoole.com/Cn/BaseUsage/timer.html) `dev.php`中 ``` 'SETTING' => [ 'worker_num' => 8, //设置进程数 'reload_async' => true, 'max_wait_time'=>3 ], ``` `EasySwooleEvent.php`mainServerCreate 函数中 ``` $register->add(EventRegister::onWorkerStart, function (\swoole_server $server, $workerId) { //只在第一个进程执行,这样只触发一次 if ($workerId == 0) { \EasySwoole\Component\Timer::getInstance()->loop(2 * 1000, function () use ($workerId){ echo $workerId."\n"; }); // 例如:2秒后一个任务,3秒后一个任务 代码如下 \EasySwoole\Component\Timer::getInstance()->after(2 * 1000, function () { //为了防止因为任务阻塞,引起定时器不准确,把任务给异步进程处理 Logger::getInstance()->console("time 2", false); }); \EasySwoole\Component\Timer::getInstance()->after(3 * 1000, function () { //为了防止因为任务阻塞,引起定时器不准确,把任务给异步进程处理 Logger::getInstance()->console("time 3", false); }); } }); ```
';