Files
kiri-core/HttpServer/Command.php
T

56 lines
869 B
PHP
Raw Normal View History

2020-09-03 00:15:57 +08:00
<?php
namespace HttpServer;
use Console\Dtl;
use Snowflake\Exception\ComponentException;
2020-09-07 15:19:13 +08:00
use Snowflake\Exception\ConfigException;
2020-09-03 00:15:57 +08:00
use Snowflake\Snowflake;
/**
* Class Command
* @package HttpServer
*/
class Command extends \Console\Command
{
public $command = 'server';
public $description = 'server start|stop|reload|restart';
private $actions = [
'start', 'stop', 'reload', 'restart'
];
/**
* @param Dtl $dtl
2020-09-07 15:19:13 +08:00
* @throws ComponentException|ConfigException
* @throws \Exception
2020-09-03 00:15:57 +08:00
*/
public function handler(Dtl $dtl)
{
$action = $dtl->get('action', 3);
/** @var Server $server */
2020-09-03 11:39:20 +08:00
$server = Snowflake::app()->get('server');
2020-09-07 15:19:13 +08:00
switch ($action) {
case 'restart':
$server->shutdown();
$server->start();
break;
case 'stop':
$server->shutdown();
break;
case 'start':
default:
$server->start();
}
2020-09-03 00:15:57 +08:00
}
}