Esempio n. 1
0
 public function action_save()
 {
     $success = 1;
     $msg = "";
     $post = Validate::factory($_POST)->rule('pit', 'not_empty')->rule('time', 'not_empty')->rule('user', 'not_empty');
     if ($post->check()) {
         $task = new Model_Task();
         $task->update($post);
     } else {
         $success = 0;
         $msg = "Sem dados para salvar.";
     }
     $this->session = Session::instance();
     if (!$this->session->get('tsuser')) {
         $success = 0;
         $msg = "Informacoes salvas, mas usuario nao esta logado.";
     }
     $this->request->headers['Content-Type'] = 'application/json';
     $this->request->response = my_json_encode(array('success' => $success, 'msg' => $msg, 'content' => $_POST));
 }
Esempio n. 2
0
 /**
  * @param array $options
  * @return array
  */
 private static function _add_task_record_hook($options)
 {
     $current_task = self::current_task();
     // record
     $model_task = new Model_Task();
     $task_options = $options;
     $task_options['task_pid'] = posix_getpid();
     $task_options['create_time'] = $current_task->create_time;
     $before_record = function ($data) use($current_task, $task_options, $model_task) {
         $create = $model_task->create($current_task->id, $task_options, self::TASK_STATUS_RUNNING);
         return $create;
     };
     $after_record = function ($result) use($current_task, $model_task) {
         $status = self::TASK_STATUS_FINISH;
         if (!isset($result['errno'])) {
             $status = self::TASK_STATUS_FAILED;
         } elseif ($result['errno'] !== Const_Err_Base::ERR_OK) {
             if (isset($result[Const_DataAccess::MREK_STATUS]) && isset(self::$_module_task_stat_map[$result[Const_DataAccess::MREK_STATUS]])) {
                 $status = self::$_module_task_stat_map[$result[Const_DataAccess::MREK_STATUS]];
             } else {
                 $status = self::TASK_STATUS_FAILED;
             }
         }
         $upinfo = ['result' => $result, 'status' => $status, 'end_time' => time()];
         $all_counts = Module_ControlCentre_Counter::get_all_counts();
         if ($all_counts[Const_DataAccess::MREK_ERRNO] == Const_Err_Base::ERR_OK) {
             $counts = $all_counts[Const_DataAccess::MREK_DATA];
             foreach ($counts as $_k => $_c) {
                 if ($_c == 0) {
                     unset($counts[$_k]);
                 }
             }
             $upinfo['counts'] = $counts;
         }
         $upinfo['server'] = Module_ScheduledTask_Main::current_server_name();
         return $model_task->update($current_task->id, $upinfo);
     };
     $current_task->register_before_run_hook('record_create_task', $before_record);
     $current_task->register_after_run_hook('record_finish_task', $after_record);
 }
Esempio n. 3
0
 static function set_task_status_action()
 {
     $task_id = Lib_Request::get_int('task_id');
     $status = Lib_Request::get_int('status');
     $current_status = Lib_Request::get_int('current_status');
     $task_status_list = Module_ControlCentre_Main::$task_status_list;
     $rtn = [];
     if (isset($task_status_list[$status])) {
         $model_task = new Model_Task();
         $rs = $model_task->update($task_id, ['status' => $status]);
         if ($rs['errno'] === Const_Err_Base::ERR_OK && $rs['data'] === 1) {
             $rtn = ['errno' => Const_Err_Base::ERR_OK];
         } else {
             $rtn = ['errno' => Const_Err_Db::ERR_UPDATE_FAIL, 'msg' => '修改失败'];
         }
     } else {
         $rtn = ['errno' => Const_Err_Base::ERR_INVALID_PARAM, 'msg' => '不存在此状态值'];
     }
     $diff = Module_OperationRecord_Main::get_diff(['status' => $current_status], ['status' => $status]);
     if (Const_Err_Base::ERR_OK === $diff['errno']) {
         $diff = $diff['data'];
         Module_OperationRecord_Main::add_record(Module_OperationRecord_Main::OPCODE_TASK_STATUS_EDIT, $diff, $task_id);
     }
     Module_View_Main::view()->output($rtn);
 }