Пример #1
0
 /**
  * 初始化一些定时任务
  * @return void
  */
 protected static function initTask()
 {
     // 任务初始化
     Task::init();
     // 测试环境定时获取worker包含的文件
     if (PHPServerConfig::get('ENV') == 'dev') {
         // 定时获取worker包含的文件
         Task::add(self::$commonWaitTimeLong, array('PHPServer', 'sendCmdToAll'), array(Cmd::CMD_REPORT_INCLUDE_FILE));
         // 定时检测终端是否关闭
         Task::add(self::$commonWaitTimeLong, array('PHPServer', 'checkTty'));
     } else {
         // 定时发送alarm命令
         Task::add(self::$commonWaitTimeLong, array('PHPServer', 'sendCmdToAll'), array(Cmd::CMD_PING));
     }
     // 如果不支持inotify则上报文件给FileMonitor进程来监控文件更新
     Task::add(self::$checkFilesTimeLong, function () {
         Reporter::reportIncludedFiles(PHPServer::getFilesToInotify());
     });
     // 检查worker内存占用情况
     Task::add(self::$checkStatusTimeLong, array('PHPServer', 'checkWorkersMemory'));
     // 检查心跳情况
     Task::add(self::$checkStatusTimeLong, array('PHPServer', 'checkPingInfo'));
     // 开发环境定时清理master输出
     if (PHPServerConfig::get('ENV') == 'dev') {
         Task::add(self::$commonWaitTimeLong, function () {
             @ob_clean();
         });
     }
 }