/** * Job执行逻辑 */ public function handle_request() { // 获取操作信息 $action = Bll_Cms_BlockChange::getActionWithCommunity($this->actionId); if (empty($action) || empty($action['comms'])) { $this->writeLog('all action is finished'); return false; } $isFinish = false; // 判断之前动作是否处理完 if ($doListData = Bll_Cms_BlockChange::getDoList($action['id'], 3)) { if ($doListData['status'] == 2) { $isFinish = true; } } else { $this->writeLog('获取actionid=' . $action['id'] . '的dolist为空或者失败'); return false; } if (!$isFinish) { $this->writeLog('action:' . $action['id'] . ' 正在' . $doListData['list_id'] . '处理阶段'); return false; } // 标记处理状态 Bll_Cms_BlockChange::updateDoList($action['id'], 4, 1, 'action:' . $action['id'] . ' list_id:4 处理中'); // 处理comms $result = Bll_Cms_BlockChange::dealActionComms($action); // 更新dolist表 if ($result && $result['status']) { Bll_Cms_BlockChange::updateDoList($action['id'], 4, 2); // 记录本次actionid file_put_contents($this->logDir . 'hzblock_change_actionid.log', $action['id']); } else { $errMsg = $result['msg']; Bll_Cms_BlockChange::updateDoList($action['id'], 4, 3, is_string($errMsg) ? $errMsg : implode(',', $errMsg)); } // 记录log if ($result['msg'] && is_array($result['msg'])) { foreach ($result['msg'] as $msg) { $this->writeLog($msg); } } }
/** * 检查前面处理是否ok * @return bool */ private function isPreFinished() { // 判断之前动作是否处理完 if ($doListData = Bll_Cms_BlockChange::getDoList($this->actionId, 4)) { if ($doListData['status'] == 2) { return true; } else { $this->writeLog('action:' . $this->actionId . ' 正在' . $doListData['list_id'] . '处理阶段'); } } else { $this->writeLog('获取actionid=' . $this->actionId . '的dolist为空或者失败'); } return false; }