private function __construct() { $task = Module_ControlCentre_Main::current_task(); if ($task) { $task_id = $task->id; $this->_set_task_id($task_id); } else { $this->_set_counter_status(false); } }
/** * @param int $task_id * @param int $module_id * @return string */ static function meta_file_path($task_id, $module_id) { $meta_file = Module_ControlCentre_Main::data_file('meta/task/' . $task_id . '/' . $module_id . '.' . Module_FlowManager_Main::META_FILE_SUFFIX); $meta_dir = dirname($meta_file); if (!file_exists($meta_dir)) { @mkdir($meta_dir, 0744, true); } return $meta_file; }
/** * @param int $task_id * @param int $mid * @return string */ static function module_run_id($task_id, $mid) { $task_begin_time = Module_ControlCentre_Main::current_task()->create_time; return $task_id . '-' . $mid . '-' . $task_begin_time; }
function setUp() { Module_ControlCentre_Main::get_instance()->create_task(self::$_task_id); Module_ControlCentre_Counter::register_keys_map(self::$_mid, [self::$_test_key => 'test', self::$_key1 => 'a', self::$_key2 => 'b']); }
static function stop_task_action() { $task_id = Lib_Request::post_int_var('task_id'); if (empty($task_id) && $task_id != 0) { Module_View_Main::view()->output(['errno' => Const_Err_DataAccess::ERR_GET_PARAM, 'data' => '无此任务']); } Module_OperationRecord_Main::add_record(Module_OperationRecord_Main::OPCODE_TASK_RUN_STOP); $result = Module_ControlCentre_Main::kill_task($task_id); Module_View_Main::view()->output($result); }
/** * @param string $key * @return array */ static function task_ctl_cmd($key) { return Module_ControlCentre_Main::current_task()->get_ctl_cmd($key); }
#!/usr/bin/env php <?php require_once dirname(dirname(dirname(__FILE__))) . '/app/init.php'; $options = getopt('a:t:m:'); if (!isset($options['a']) || !isset($options['t']) || !isset($options['m'])) { p('use as xxx -a ap_id -t task_id -m module_id'); exit; } $ap_id = $options['a']; //'16723523721449231476'; $task_id = $options['t']; // 123 $module_id = $options['m']; //'9691047284819742687' $control_options = [Const_DataAccess::RUN_OPTION_FLOW_INFO => [Module_FlowManager_Main::RUN_MODE => Module_FlowManager_Main::RUN_MODE_SINGLE_MODULE, Module_FlowManager_Main::RUN_OPTION_SINGLE_MODULE_ID => $module_id]]; $ap_info = Module_AccessPoint_Ap::get_ap($ap_id); if ($ap_info['errno'] !== Const_Err_Base::ERR_OK) { p('Get ap faild! Result:' . Lib_Helper::format_err_struct($ap_info)); exit; } $ap_info = $ap_info['data']; $flow_id = $ap_info[Module_FlowManager_Main::KEY_FLOW_ID]; unset($ap_info[Module_FlowManager_Main::KEY_FLOW_ID]); $control_options[Const_DataAccess::RUN_OPTION_ACCESS_POINT_INFO] = $ap_info; $data = Module_ControlCentre_Main::run($flow_id, $control_options, $task_id); p($data); exit;
/** * @param array $data * @param array $control_options * @return array */ public function run($data = [], $control_options = []) { $begin_time = microtime(true); Lib_Log::monitor("TIMER task [%d] begin at [%.4f]", [Module_ControlCentre_Main::current_task_id(), $begin_time]); $this->options = $control_options; $flow = Module_ControlCentre_FlowManager::get_instance()->get_current_flow(); // run before hooks $this->run_hooks(self::HOOK_TYPE_BEFORE_RUN, [$data]); // run $result = $flow->run($this->id, $data); // run after hook $this->run_hooks(self::HOOK_TYPE_AFTER_RUN, [$result]); $end_time = microtime(true); Lib_Log::monitor("TIMER task [%d] end at [%.4f], use [%.4f]", [Module_ControlCentre_Main::current_task_id(), $end_time, $end_time - $begin_time]); return $result; }