Server->tick
最后更新于:2022-04-02 06:20:03
# Server->tick
[TOC]
添加`tick`定时器,可以自定义回调函数。此函数是[Swoole\\Timer::tick](swoole\_timer\_tick.md)的别名。
> `Worker`进程结束运行后,所有定时器都会自动销毁
> `tick/after`定时器不能在`Server->start`之前使用
## 在 onReceive 中使用
~~~
function onReceive($server, $fd, $reactor_id, $data) {
$server->tick(1000, function() use ($server, $fd) {
$server->send($fd, "hello world");
});
}
~~~
## 在 onWorkerStart 中使用
* 低于`1.8.0`版本`Task`进程不能使用`tick/after`定时器,所以需要使用`$serv->taskworker`进行判断
~~~
function onWorkerStart(swoole_server $serv, $worker_id)
{
if (!$serv->taskworker) {
$serv->tick(1000, function ($id) {
var_dump($id);
});
}
else
{
//task
$serv->tick(1000);
}
}
~~~
';