vali 6 vuotta sitten
vanhempi
commit
3d6de39481
1 muutettua tiedostoa jossa 12 lisäystä ja 2 poistoa
  1. 12 2
      vendor/GatewayWorker_windows/Applications/whisper/Events.php

+ 12 - 2
vendor/GatewayWorker_windows/Applications/whisper/Events.php

@@ -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;
-
     }
 
     //踢掉某个组没有客服的用户