swoole_server->tick

tick定时器,可以自定义回调函数。此函数是swoole_timer_tick的别名。

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

在onReceive使用tick示例:

function onReceive($server, $fd, $from_id, $data) {
    $server->tick(1000, function() use ($server, $fd) {
        $server->send($fd, "hello world");
    });
}

在onWorkerStart中使用

function onWorkerStart(swoole_server $serv, $worker_id)
{
    if (!$serv->taskworker) {
        $serv->tick(1000, function ($id) {
            var_dump($id);
        });
    }
    else
    {
        $serv->addtimer(1000);
    }
}

tick示例:

swoole_timer_tick(2000, function($id) {
    echo "tick-1 2000ms\n";
    var_dump($id);
});
swoole_timer_tick(2000, function($id, $params) {
    echo "tick-2 2000ms\n";
    var_dump($id, $params);
    swoole_timer_clear($id);
}, "i am params");