Example #1
0
 public function onChange()
 {
     $this->outputDriver->send('[format foreground="green" background="black" effects="bold"]' . '[sideways] File system changes %MIDDLE% [ DETECTED ] [/sideways][/format]' . PHP_EOL);
     $this->outputDriver->send('[format foreground="green" background="black" effects="bold"]' . '[sideways] Server status %MIDDLE% [ RESTARTING ] [/sideways][/format]' . "\r");
     Exec::viaPipe('bin/thinframe server restart', KARMA_ROOT);
     $this->outputDriver->send('[format foreground="green" background="black" effects="bold"]' . '[sideways] Server status %MIDDLE% [ RESTARTED ] [/sideways][/format]' . PHP_EOL);
 }
Example #2
0
 /**
  * @return bool
  */
 public function restart()
 {
     $startCommand = $this->getStartCommand();
     $cwd = $this->getWorkingDir();
     $this->sendSignal(new Signal(Signal::KILL));
     list($exitStatus, $out, $err, $pid) = array_values(Exec::viaPipe($startCommand . ' > /dev/null 2>&1 &', $cwd));
     return !$exitStatus;
 }
Example #3
0
 /**
  * This method will be called if this command is triggered
  *
  * @param ArgumentsContainer $arguments
  *
  * @return mixed
  */
 public function execute(ArgumentsContainer $arguments)
 {
     if (!ServerHelper::isRunning()) {
         $this->outputDriver->send('[error]Server is not running[/error]' . PHP_EOL, [], true);
         exit(1);
     }
     $process = new Process(ServerHelper::getServerPID());
     if ($process->sendSignal(new Signal(Signal::KILL))) {
         sleep(1);
         Exec::viaPipe('bin/thinframe server start --daemon', KARMA_ROOT);
         $this->outputDriver->send('[info]The server will start shortly[/info]' . PHP_EOL);
         exit(0);
     } else {
         $this->outputDriver->send('[error]The server is not responding[/error]' . PHP_EOL, [], true);
         exit(1);
     }
 }
Example #4
0
 /**
  * This method will be called if this command is triggered
  *
  * @param ArgumentsContainer $arguments
  *
  * @return mixed
  */
 public function execute(ArgumentsContainer $arguments)
 {
     if ($arguments->getOption('daemon')) {
         if (!ServerHelper::isRunning()) {
             Exec::viaPipe('bin/thinframe server start > /dev/null 2>&1 &', KARMA_ROOT);
             sleep(2);
         }
         if (ServerHelper::isRunning()) {
             $this->outputDriver->send('[success]Server is listening at {host}:{port}[/success]' . PHP_EOL, ['host' => $this->server->getHost(), 'port' => $this->server->getPort()]);
             exit(0);
         } else {
             $this->outputDriver->send('[error]Failed to start server[/error]' . PHP_EOL, [], true);
             exit(1);
         }
     }
     $this->dispatcher->trigger(new SimpleEvent('thinframe.server.pre_start'));
     $this->outputDriver->send('[success]Server will start listening at {host}:{port}[/success]' . PHP_EOL, ['host' => $this->server->getHost(), 'port' => $this->server->getPort()]);
     ServerHelper::savePID();
     $this->server->start();
 }
 /**
  * Get version from git tag
  */
 private function setUpVersion()
 {
     $response = Exec::viaPipe('git describe', $this->getApplicationPath());
     if ($response['exitStatus'] > 0) {
         $this->version = new Version('0.0.0-dev');
     } else {
         try {
             $this->version = new Version($response['stdOut']);
         } catch (InvalidArgumentException $e) {
             $this->version = new Version('0.0.0-dev');
         }
     }
 }
 /**
  * Get user password input
  *
  * @return string
  */
 public function readPassword()
 {
     $result = Exec::viaPipe('bash -c \'read -s password && echo $password\'');
     return trim($result['stdOut']);
 }