/** * @param VMConfig $VMConfig * @param callable $callback */ public function restartWorkers(VMConfig $VMConfig, $callback = null) { $workersProcesses = []; foreach ($VMConfig->getProcesses() as $process) { if ($process->isRunning()) { $workersProcesses[] = $process->getProcessName(); } } $response = SupervisorManager::init($VMConfig)->runCommand(sprintf('restart %s', implode(' ', $workersProcesses))); if (is_callable($callback)) { $callback($response); } }
/** * @param VMConfig $VMConfig * * @return static */ public static function init(VMConfig $VMConfig) { $server = $VMConfig->getServer(); $manager = new static($server, $VMConfig->getUsername(), $VMConfig->getPassword(), $VMConfig->getConfig()); if ($VMConfig->hasUseSudo()) { $manager->setUseSudo(true); } return $manager; }