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)); }
/** * @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); }
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); }