Esempio n. 1
0
 /**
  * @throws \Exception
  */
 public function run()
 {
     if (!$this->command instanceof ProvisionCommand) {
         throw new \Exception("The ServiceRestart task can only be run by the Provision command.");
     }
     $this->output->writeInfo("Restarting services");
     $this->output->writeDebug("Stopping monit");
     Util::process($this->output, "monit quit");
     // wait until monit quits
     while (file_exists('/var/run/monit.pid')) {
         usleep(500000);
     }
     $services = ServiceManager::getServices();
     $this->output->writeDebug("Stopping services");
     foreach ($services as $service) {
         Util::process($this->output, "monit stop {$service}");
     }
     $this->output->writeDebug("Starting services");
     foreach ($services as $service) {
         Util::process($this->output, "monit start {$service}");
     }
     $this->output->writeDebug("Starting monit");
     Util::process($this->output, "monit");
 }