From c4030fc659e731d09562594a63406e2f336d6b63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Wed, 23 Dec 2020 16:35:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HttpServer/Server.php | 9 +++++++++ System/Process/ServerInotify.php | 13 +++++++++++++ 2 files changed, 22 insertions(+) diff --git a/HttpServer/Server.php b/HttpServer/Server.php index b9d762be..416bf802 100644 --- a/HttpServer/Server.php +++ b/HttpServer/Server.php @@ -74,6 +74,15 @@ class Server extends Application } + /** + * @return array + */ + public function getProcesses(): array + { + return $this->process ?? []; + } + + /** * @param array $configs * @return Packet|Websocket|Receive|Http|null diff --git a/System/Process/ServerInotify.php b/System/Process/ServerInotify.php index 2c12073b..4d09fd4b 100644 --- a/System/Process/ServerInotify.php +++ b/System/Process/ServerInotify.php @@ -209,6 +209,19 @@ class ServerInotify extends Process public function trigger_reload() { Snowflake::reload(); + + $system = Snowflake::app()->server; + + $processes = Config::get('processes'); + if (!empty($processes) && is_array($processes)) { + $processes = merge($processes, $system->getProcesses()); + } else { + $processes = $system->getProcesses(); + } + foreach ($processes as $name => $process) { + $process = Snowflake::app()->get($name); + $process->exit(0); + } }