Example #1
0
 /**
  * @param string $key
  * @return string
  */
 static function current_ap_info($key = null)
 {
     $ap = Module_ControlCentre_ApManager::get_instance()->current_ap();
     return self::_get_data_info($ap, $key);
 }
Example #2
0
 /**
  * @param array $data
  * @param array $options
  * @return array
  */
 function run_current_task($data = [], $options = [])
 {
     // cheack ap status
     $ap_status = Module_ControlCentre_ApManager::get_instance()->get_current_ap_status();
     if ($ap_status == null) {
         return Lib_Helper::get_err_struct(Const_Err_DataAccess::ERR_AP_STATUS, 'access point without status');
     }
     if ($ap_status != Module_AccessPoint_Main::AP_STATUS_ONLINE) {
         return Lib_Helper::get_err_struct(Const_Err_DataAccess::ERR_AP_STATUS, 'access point is disabled');
     }
     // run task
     $task = $this->get_current_task();
     if (empty($task)) {
         return Lib_Helper::get_err_struct(Const_Err_DataAccess::ERR_TASK_NOT_EXISTS, 'no task to run!');
     }
     try {
         $result = $task->run($data, $options);
     } catch (Exception $ex) {
         return Lib_Helper::get_err_struct($ex->getCode(), $ex->getMessage());
     }
     return $result;
 }
Example #3
0
 /**
  * @param int $task_id
  * @param array $data
  */
 static function failed_send_mail_hook($task_id, $data)
 {
     if (!isset($data[Const_DataAccess::MREK_ERRNO]) || $data[Const_DataAccess::MREK_ERRNO] !== Const_Err_Base::ERR_OK) {
         $status = isset($data[Const_DataAccess::MREK_STATUS]) ? $data[Const_DataAccess::MREK_STATUS] : Module_ModuleManager_Main::RUN_MODULE_STATUS_FAILED;
         switch ($status) {
             case Module_ModuleManager_Main::RUN_MODULE_STATUS_FAILED:
             case Module_ModuleManager_Main::RUN_MODULE_STATUS_ABORT:
             case Module_ModuleManager_Main::RUN_MODULE_STATUS_SHUTDOWN:
                 //case Module_ModuleManager_Main::RUN_MODULE_STATUS_TERM:
                 $current_ap = Module_ControlCentre_ApManager::current_ap();
                 $mail_to = Module_ControlCentre_ApManager::interface_people();
                 if (!empty($mail_to)) {
                     $mail_to = implode(';', $mail_to);
                     $title = '接入任务[' . $task_id . ']';
                     $msg = '接入任务<span style="color:red;">[' . $task_id . ']</span>';
                     if (isset($current_ap[Module_AccessPoint_Main::FIELD_AP_NAME])) {
                         $title .= $current_ap[Module_AccessPoint_Main::FIELD_AP_NAME];
                         $msg .= '<span style="font-size:2em;">';
                         $msg .= $current_ap[Module_AccessPoint_Main::FIELD_AP_NAME];
                         $msg .= '</span>';
                     }
                     $title .= '<<' . Module_ModuleManager_Main::$run_module_status_list[$status] . '>>';
                     $msg .= '</span><span style="color:red;font-weight:bold;">' . Module_ModuleManager_Main::$run_module_status_list[$status] . '</span>';
                     isset($data[Const_DataAccess::MREK_DATA]['msg']) && ($msg .= '<p>原因如下:' . '<h2 style="color:red;">' . $data[Const_DataAccess::MREK_DATA]['msg'] . '</h2>' . '</p>');
                     Module_Notification_Mail::send_mail($mail_to, $title, $msg);
                 }
                 break;
         }
     }
 }