Server->tick

添加tick定时器,可以自定义回调函数。此函数是 Swoole\Timer::tick 的别名。

Worker进程结束运行后,所有定时器都会自动销毁
tick/after定时器不能在Server->start之前使用

在 onReceive 中使用

  1. function onReceive($server, $fd, $reactor_id, $data) {
  2. $server->tick(1000, function() use ($server, $fd) {
  3. $server->send($fd, "hello world");
  4. });
  5. }

在 onWorkerStart 中使用

  • 低于1.8.0版本Task进程不能使用tick/after定时器,所以需要使用$serv->taskworker进行判断
  1. function onWorkerStart(swoole_server $serv, $worker_id)
  2. {
  3. if (!$serv->taskworker) {
  4. $serv->tick(1000, function ($id) {
  5. var_dump($id);
  6. });
  7. }
  8. else
  9. {
  10. //task
  11. $serv->tick(1000);
  12. }
  13. }