workerman 有没有类似swoole_timer_after的定时器

 有个场景,客户端在断开连接以后,定时器照样执行,到时间自动销毁定时器
已邀请:

xiasha11

赞同来自:

类似setTimeout

xiasha11

赞同来自:

[code][size]use[/size] \[size]Workerman[/size]\[size]Worker[/size];
[size]use[/size] \[size]Workerman[/size]\[size]Lib[/size]\[size]Timer[/size];
[size]require_once[/size] [size]__DIR__[/size] . [size]'/Workerman/Autoloader.php'[/size];

$task = [size]new[/size] Worker();
$task->onWorkerStart = [size][size]function[/size][size]($task)[/size]
[/size]{
[size]// 注意,回调里面使用当前定时器id必须使用引用(&)的方式引入[/size]
$timer_id = Timer::add([size]1[/size], [size][size]function[/size][size]()[/size][size]use[/size][size](&$timer_id)[/size]
[/size]{
[size]static[/size] $i = [size]0[/size];
[size]echo[/size] $i++.[size]"\n"[/size];
[size]// 运行10次后删除定时器[/size]
[size]if[/size]($i === [size]10[/size])
{
Timer::del($timer_id);
}
});
};

[size]// 运行worker[/size]
Worker::runAll();
[/code]

keytehu

赞同来自:

手册里说Timer::add 最后一个参数传false 是一次性定时器啊

要回复问题请先登录注册