status = QueueStatus::STARTING; $queue->save(); dispatch(function () use ($queue): void { /** @var Service $service */ $service = $queue->server->processManager(); /** @var ProcessManager $handler */ $handler = $service->handler(); $handler->start($queue->id, $queue->site_id); $queue->status = QueueStatus::RUNNING; $queue->save(); })->onConnection('ssh'); } public function stop(Queue $queue): void { $queue->status = QueueStatus::STOPPING; $queue->save(); dispatch(function () use ($queue): void { /** @var Service $service */ $service = $queue->server->processManager(); /** @var ProcessManager $handler */ $handler = $service->handler(); $handler->stop($queue->id, $queue->site_id); $queue->status = QueueStatus::STOPPED; $queue->save(); })->onConnection('ssh'); } public function restart(Queue $queue): void { $queue->status = QueueStatus::RESTARTING; $queue->save(); dispatch(function () use ($queue): void { /** @var Service $service */ $service = $queue->server->processManager(); /** @var ProcessManager $handler */ $handler = $service->handler(); $handler->restart($queue->id, $queue->site_id); $queue->status = QueueStatus::RUNNING; $queue->save(); })->onConnection('ssh'); } }