e
This commit is contained in:
+14
-7
@@ -22,25 +22,32 @@ class Command extends \Console\Command
|
||||
public $description = 'server start|stop|reload|restart';
|
||||
|
||||
|
||||
const ACTIONS = ['start', 'stop', 'restart'];
|
||||
|
||||
|
||||
/**
|
||||
* @param Input $dtl
|
||||
* @throws ConfigException
|
||||
* @throws Exception
|
||||
* @return mixed|void
|
||||
* @throws Exception
|
||||
* @throws ConfigException
|
||||
*/
|
||||
public function onHandler(Input $dtl)
|
||||
{
|
||||
$manager = Snowflake::app()->server;
|
||||
$manager->setDaemon($dtl->get('daemon', 0));
|
||||
if ($manager->isRunner()) {
|
||||
$manager->shutdown();
|
||||
|
||||
if (!in_array($dtl->get('action'), self::ACTIONS)) {
|
||||
return $this->error('I don\'t know what I want to do.');
|
||||
}
|
||||
|
||||
if ($manager->isRunner() && $dtl->get('action') == 'start') {
|
||||
return $this->error('Service is running. Please use restart.');
|
||||
}
|
||||
|
||||
$manager->shutdown();
|
||||
if ($dtl->get('action') == 'stop') {
|
||||
return;
|
||||
}
|
||||
if (!in_array($dtl->get('action'), ['start', 'restart'])) {
|
||||
return $this->error('I don\'t know what I want to do.');
|
||||
}
|
||||
$manager->start();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user