onConnection('provisioning'); $this->onQueue('provisioning'); } public function handle(): void { $host = Host::query()->where('uuid', $this->uuid)->first(); if ($host === null) { return; } foreach ($host->runs()->get() as $run) { // Block until the runner lock is free (a long step may hold it for up // to the step timeout), then delete — cascades events + resources. Cache::lock('run:'.$run->uuid, 2200)->block(2100, fn () => $run->delete()); } if (filled($host->wg_pubkey)) { RemoveWireguardPeer::dispatch($host->wg_pubkey); } $host->delete(); } }