发布于 2015-08-09 09:39:38 | 344 次阅读 | 评论: 0 | 来源: 网络整理
警告:此方法即将移除
设置定时器。1.6.12版本前此函数不能用在消息队列模式下,1.6.12后消息队列IPC模式也可以使用定时器。
bool swoole_server->addtimer(int $interval);
bool swoole_server_addtimer(swoole_server $serv, int $interval);
第二个参数是定时器的间隔时间,单位为毫秒。swoole定时器的最小颗粒是1毫秒。支持多个定时器。此函数可以用于worker进程中。
1.7.5之后onStart回调中不再支持定时器
建议使用tick定时器,addtimer定时器未来或将移除
增加定时器后需要为Server设置onTimer回调函数,否则Server将无法启动。多个定时器都会回调此函数。在这个函数内需要自行switch,根据interval的值来判断是来自于哪个定时器。
面向对象风格:
$serv->addtimer(1000); //1s
$serv->addtimer(20); //20ms
$serv->on('Timer', 'my_OnTimer');
function my_OnTimer($serv, $interval)
{
echo "Timer[$interval] is calln";
}