public function startAction() { $config = Yaf_Registry::get('monitor_config'); $dataName = $config['loghandle'][$this->logType]['data']; $stepTime = intval($config['loghandle'][$this->logType]['step']); $logPersistentService = new Service_Log_Persistent(); $logApp = $logPersistentService->getAppId(); foreach ($logApp as $table => $appId) { $pid = pcntl_fork(); if (!$pid) { $logDataService = new Service_Log_Data($this->logType, $dataName); $dataResult = $logDataService->getWeblog($table, $stepTime); if (!$dataResult) { return false; } $etlModel = Model_Loghandle_Etl_Factory::create($this->logType, 'key'); $extraData = array('logapp' => $logApp, 'data' => $dataResult, 'table' => $table); $transData = $etlModel->transform($extraData); $firstData = current($dataResult); $time = $firstData['time']->sec; $etlModel->load($transData, $time); exit; } } return false; }
/** * * 检测脚本钩子程序,每次执行该检测脚本均会执行 */ public function plugins($var = array()) { $accessModel = new Service_Log_Persistent(); $record = $accessModel->getRecordTime('accesslog', 1); return $record - 60; /*if ($record AND $var['currentTime']>$dataTime) { Ym_Logger::info('check time: '.$var['currentTime'].' grant and equal than data time: '.$dataTime); }*/ }