vali 6 年之前
父节点
当前提交
8af2ab3d60
共有 1 个文件被更改,包括 104 次插入42 次删除
  1. 104 42
      vendor/GatewayWorker_windows/Applications/whisper/Events.php

+ 104 - 42
vendor/GatewayWorker_windows/Applications/whisper/Events.php

@@ -1661,59 +1661,121 @@ class Events
             unset($oldKey, $key);
         }
 
-        // 定时统计数据
-        if (0 == $worker->id) {
+        if (strtolower(substr(PHP_OS, 0, 3)) == 'win') {
+            // 定时统计数据
+            if (0 == $worker->id) {
 
-            self::writeLogKfStatus(0, 0, 0);
+                self::writeLogKfStatus(0, 0, 0);
 
-            //每5秒更新进行一次人员分配
-            Timer::add(5, function () {
-                self::userOnlineTask();
-            });
+                //每5秒更新进行一次人员分配
+                Timer::add(5, function () {
+                    self::userOnlineTask();
+                });
 
-            //每1分钟报告一次本组排列人员(如果有人排队)
-            Timer::add(60, function () {
-                self::lineup();
-            });
+                //每1分钟报告一次本组排列人员(如果有人排队)
+                Timer::add(60, function () {
+                    self::lineup();
+                });
 
 
-            // 1分钟统计一次实时数据
-            Timer::add(60 * 1, function () {
-                self::writeLog(1);
-            });
-            // 40分钟写一次当前日期点数的log数据
-            Timer::add(60 * 40, function () {
-                self::writeLog(2);
-            });
+                // 1分钟统计一次实时数据
+                Timer::add(60 * 1, function () {
+                    self::writeLog(1);
+                });
+                // 40分钟写一次当前日期点数的log数据
+                Timer::add(60 * 40, function () {
+                    self::writeLog(2);
+                });
 
-            //初始化.....
-            self::upsystemconfig();
-            //每3分钟更新一次系统配置文件
-            Timer::add(60 * 3, function () {
+                //初始化.....
                 self::upsystemconfig();
-            });
+                //每3分钟更新一次系统配置文件
+                Timer::add(60 * 3, function () {
+                    self::upsystemconfig();
+                });
+
+                // 删除前一天的统计值
+                Timer::add(60 * 60 * 12, function () {
+                    $oldKey = date('Ymd', strtotime('-1 day'));
+                    unset(self::$global->$oldKey);
+                });
+
+                // 管理员实时监控.
+                Timer::add(20, function () {
+                    // 获取在线管理员
+                    $adminList = self::$redis->smembers('adminList');
+                    if ($adminList) {
+                        self::systemMonitoring($adminList);
+                    }
+                });
 
-            // 删除前一天的统计值
-            Timer::add(60 * 60 * 12, function () {
-                $oldKey = date('Ymd', strtotime('-1 day'));
-                unset(self::$global->$oldKey);
-            });
+                // 检查对话时效给出.
+                Timer::add(40, function () {
+                    self::overTime();
+                });
 
-            // 管理员实时监控.
-            Timer::add(20, function () {
-                // 获取在线管理员
-                $adminList = self::$redis->smembers('adminList');
-                if ($adminList) {
-                    self::systemMonitoring($adminList);
-                }
-            });
+                self::resetServiceLog();
+            }
+        } else {
+            ///linux 下支持多进程....
 
-            // 检查对话时效给出.
-            Timer::add(40, function () {
-                self::overTime();
-            });
+            if (0 == $worker->id) {
 
-            self::resetServiceLog();
+                self::writeLogKfStatus(0, 0, 0);
+
+                //每5秒更新进行一次人员分配
+                Timer::add(5, function () {
+                    self::userOnlineTask();
+                });
+
+                //每1分钟报告一次本组排列人员(如果有人排队)
+                Timer::add(60, function () {
+                    self::lineup();
+                });
+
+                self::resetServiceLog();
+
+            } elseif (1 == $worker->id) {
+
+                // 1分钟统计一次实时数据
+                Timer::add(60 * 1, function () {
+                    self::writeLog(1);
+                });
+                // 40分钟写一次当前日期点数的log数据
+                Timer::add(60 * 40, function () {
+                    self::writeLog(2);
+                });
+
+            } elseif (2 == $worker->id) {
+
+                //初始化.....
+                self::upsystemconfig();
+                //每3分钟更新一次系统配置文件
+                Timer::add(60 * 3, function () {
+                    self::upsystemconfig();
+                });
+
+                // 删除前一天的统计值
+                Timer::add(60 * 60 * 12, function () {
+                    $oldKey = date('Ymd', strtotime('-1 day'));
+                    unset(self::$global->$oldKey);
+                });
+
+            } else {
+                // 管理员实时监控.
+                Timer::add(20, function () {
+                    // 获取在线管理员
+                    $adminList = self::$redis->smembers('adminList');
+                    if ($adminList) {
+                        self::systemMonitoring($adminList);
+                    }
+                });
+
+                // 检查对话时效给出.
+                Timer::add(40, function () {
+                    self::overTime();
+                });
+            }
         }
 
     }