resource = $resource; $this->container_name = $container_name; $this->pull_request_id = $pull_request_id; } public function uniqueId(): string { return $this->container_name; } public function handle(): void { try { $status = get_container_status(server: $this->resource->destination->server, container_id: $this->container_name, throwError: false); if ($this->resource->status === 'running' && $status === 'stopped') { $this->resource->environment->project->team->notify(new StatusChanged($this->resource)); } if ($this->pull_request_id) { $preview = ApplicationPreview::findPreviewByApplicationAndPullId($this->resource->id, $this->pull_request_id); $preview->status = $status; $preview->save(); } else { $this->resource->status = $status; $this->resource->save(); } } catch (\Exception $e) { ray($e->getMessage()); } } }