|
|
@@ -1062,6 +1062,15 @@ class Events
|
|
|
*/
|
|
|
private static function userOnlineTask($group = 0, $uid = 0, $last = [], $client_id = '')
|
|
|
{
|
|
|
+ $wiyikey = 'WIYIKEY';
|
|
|
+ $oldwiyikeyval = self::$redis->get($wiyikey);
|
|
|
+ if ($oldwiyikeyval) {
|
|
|
+ echo date("Y-m-d H:i:s") . " - userOnlineTask 存在并发运行,本次中止\n";
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ self::$redis->setex($wiyikey, 10, time());
|
|
|
+
|
|
|
+
|
|
|
if ($group && $uid) {
|
|
|
// 指定用指定组 [可能存在断线重连的情况] 如果存在旧的会话,直接连线客服和用户
|
|
|
//否则按先到后到以及客服最大服务数限制
|
|
|
@@ -1090,6 +1099,7 @@ class Events
|
|
|
|
|
|
$allusergkarr = self::getUserListData();
|
|
|
if (empty($allusergkarr)) {
|
|
|
+ self::$redis->del($wiyikey);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -1099,6 +1109,7 @@ class Events
|
|
|
self::Kf_user_click($allkfgkarr, $allusergkarr);
|
|
|
|
|
|
if (empty($allkfgkarr) && !$last) {
|
|
|
+ self::$redis->del($wiyikey);
|
|
|
return;
|
|
|
}
|
|
|
$maxset = intval((self::$global->systemconfig)['KFMaxServices']['systemconfig_data']);
|
|
|
@@ -1129,9 +1140,8 @@ class Events
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ self::$redis->del($wiyikey);
|
|
|
return;
|
|
|
-
|
|
|
}
|
|
|
|
|
|
//踢掉某个组没有客服的用户
|