求教定时器这样写会有什么问题吗

defeatlr

代码如下

public static function onWorkerStart($businessWorker)
{
      if ($businessWorker->id === 0) {
           \Workerman\Lib\Timer::add(10, function () {
           // redisq取数据写入MYSQL
          }
      }

}

10秒的定时器如果写MYSQL用了5秒,那5秒的空余时间这个进程会去处理其他请求么,如果去处理其他请求的话那这个定时器又怎么跑?现在就直接写在Event的onWorkerStart 会不会有什么不妥 还是另外在开个worker去跑这个比较好呢

2030 1 0
1个回答

智佳思远

感觉单独开个worker去处理定时任务好一些,互不干扰

  • defeatlr 2017-11-21

    嗯我也这么觉得,只是现在测试我就直接写在这里试了下 感觉效率也还行,感谢回复!

年代过于久远,无法发表回答
×
🔝