在指定的时间后执行函数,需要1.7.7
或更高版本。
int swoole_timer_after(int $after_time_ms, mixed $callback_function);
swoole_timer_after
函数是一个一次性定时器,执行完成后就会销毁。此函数与PHP
标准库提供的sleep
函数不同,after
是非阻塞的。而sleep
调用后会导致当前的进程进入阻塞,将无法处理新的请求。
执行成功返回定时器ID,若取消定时器,可调用 swoole_timer_clear
$after_time_ms
指定时间,单位为毫秒,最大不得超过 86400000
$callback_function
时间到期后所执行的函数,必须是可以调用的。use
语法传递参数到回调函数中swoole_timer_after(1000, function() use ($str) {
echo "timeout, $str\n";
});