option('interval')); do { $servers = Server::has('credential')->get(); if ($servers->isEmpty()) { $this->warn('Keine Server mit Credential — nichts zu pollen.'); } foreach ($servers as $server) { try { $m = $fleet->refresh($server); broadcast(new MetricsTicked($m['cpu'], $m['mem'], $server->name)); $this->line("ok {$server->name} cpu={$m['cpu']} mem={$m['mem']} disk={$m['disk']} load={$m['load']}"); } catch (Throwable $e) { $server->forceFill(['status' => 'offline'])->save(); $this->warn("offline {$server->name}: ".$e->getMessage()); } } if ($this->option('once')) { return self::SUCCESS; } sleep($interval); } while (true); } }