function delcrontab_cron($params) { $task = $params["get"]["taskid"]; if (!is_string($task)) { return $this->output("参数有误", false); } LoadConfig::del_config($task); LoadConfig::reload_config(); return $this->output("ok"); }
/** * 注册信号 */ private static function register_signal() { swoole_process::signal(SIGTERM, function ($signo) { if (!empty(Main::$http_server)) { swoole_process::kill(Main::$http_server->pid, SIGKILL); } self::exit2p("收到退出信号,退出主进程"); }); swoole_process::signal(SIGCHLD, function ($signo) { while (($pid = pcntl_wait($status, WNOHANG)) > 0) { $task = self::$task_list[$pid]; $end = microtime(true); $start = $task["start"]; $id = $task["id"]; Main::log_write("{$id} [Runtime:" . sprintf("%0.6f", $end - $start) . "]"); unset(self::$task_list[$pid]); if (isset(self::$unique_list[$id]) && self::$unique_list[$id] > 0) { self::$unique_list[$id]--; } } }); swoole_process::signal(SIGUSR1, function ($signo) { LoadConfig::reload_config(); }); }