× 警告!旧版文档已经暂停维护,请查看新版文档。点击前往新版文档

onTimer

定时器触发,函数原型为

function onTimer(swoole_server $server, int $interval);

$interval是定时器时间间隔,根据$interval的值来区分是哪个定时器触发的。这里的定时器是由$serv->addtimer来添加的,是固定间隔循环触发的。

onTimer中执行时间过长,会导致下一次定时延缓触发。如设定1秒的定时器,1秒后会触发onTimer,onTimer函数用时1.5s,那么第二次触发onTimer的时间为第3秒。中间第2秒的定时器会被丢弃
onTimer回调函数如果要执行一个耗时操作,最好是使用$serv->task投递到task进程池中执行
1.8.0或更高版本已废弃


  • 小火人

    使用$server->on('timer', function ($server, $interval) {})报错unknown event types[timer]

  • 喜羊羊

    onTimer已被弃用了