From 45c8496d8855cdf9d62d75a4740e4f68d56d9499 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Tue, 13 Apr 2021 17:27:27 +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/Command.php | 58 ++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/HttpServer/Command.php b/HttpServer/Command.php index 9029225a..b0fc3abf 100644 --- a/HttpServer/Command.php +++ b/HttpServer/Command.php @@ -16,41 +16,43 @@ use Snowflake\Snowflake; class Command extends \Console\Command { - public string $command = 'sw:server'; + public string $command = 'sw:server'; - public string $description = 'server start|stop|reload|restart'; + public string $description = 'server start|stop|reload|restart'; - const ACTIONS = ['start', 'stop', 'restart']; + const ACTIONS = ['start', 'stop', 'restart']; - /** - * @param Input $dtl - * @return string - * @throws Exception - * @throws ConfigException - */ - public function onHandler(Input $dtl): string - { - $manager = Snowflake::app()->getServer(); - $manager->setDaemon($dtl->get('daemon', 0)); + /** + * @param Input $dtl + * @return string + * @throws Exception + * @throws ConfigException + */ + public function onHandler(Input $dtl): string + { + $manager = Snowflake::app()->getServer(); + $manager->setDaemon($dtl->get('daemon', 0)); - if (!in_array($dtl->get('action'), self::ACTIONS)) { - return 'I don\'t know what I want to do.'; - } + if (!in_array($dtl->get('action'), self::ACTIONS)) { + return 'I don\'t know what I want to do.'; + } + if (!file_exists(storage('runtime.php'))) { + exec(PHP_BINARY . ' snowflake runtime:builder'); + } + /** @var Shutdown $shutdown */ + $shutdown = Snowflake::app()->get('shutdown'); + if ($shutdown->isRunning() && $dtl->get('action') == 'start') { + return 'Service is running. Please use restart.'; + } - /** @var Shutdown $shutdown */ - $shutdown = Snowflake::app()->get('shutdown'); - if ($shutdown->isRunning() && $dtl->get('action') == 'start') { - return 'Service is running. Please use restart.'; - } - - $shutdown->shutdown(); - if ($dtl->get('action') == 'stop') { - return 'shutdown success.'; - } - return $manager->start(); - } + $shutdown->shutdown(); + if ($dtl->get('action') == 'stop') { + return 'shutdown success.'; + } + return $manager->start(); + } }