web-msg中如何在断开disconnect时启动一次性定时任务,再次接入则删除该任务?

0

目前用户打开单一页面后刷新时则状态在线-断开-在线,感觉这样太费事.
期望的效果是用户断开时,做个一次性定时任务,而在10s内的再次在线则进行删除该定时器.
但问题是Timer类似乎在$socket->on('disconnect',这样中无法使用.
那么请教该如何实现?


需求如:


$socket->on('login', function ($uid)use($socket){
//存在一次性定时任务则删除
});
$socket->on('disconnect', function ($uid)use($socket){
if(--$uidMap <= 0){
//创建一个10秒的一次性定时任务,以便在用户离开了10秒后仍未接入时执行.
};
});
已邀请:

walkor

赞同来自:

$socket->on('disconnect',
里用Timer即可,可以用

keytehu

赞同来自:

估计题主没加命名空间,这样加


$socket->on('disconnect', function () {
Workerman\Lib\Timer::add(...);
});

要回复问题请先登录注册