swoole_timer_after

最后更新于:2022-04-02 06:30:57

# swoole\_timer\_after [TOC] 在指定的时间后执行函数。 ~~~ 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`回调中会自动创建一个协程,可以直接使用协程相关`API`,无需调用`go`创建协程。 > 可设置`enable_coroutine`关闭自动创建协程 ## 使用示例 ~~~ swoole_timer_after(1000, function() use ($str) { echo "timeout, $str\n"; }); ~~~
';