This commit is contained in:
Andras Bacsai 2023-10-09 11:49:38 +02:00
parent a6209fbe5c
commit 8004a40139
2 changed files with 51 additions and 51 deletions

View File

@ -53,7 +53,7 @@ class ContainerStatusJob implements ShouldQueue, ShouldBeEncrypted
if ($serverUptimeCheckNumber >= $serverUptimeCheckNumberMax) { if ($serverUptimeCheckNumber >= $serverUptimeCheckNumberMax) {
if ($this->server->unreachable_email_sent === false) { if ($this->server->unreachable_email_sent === false) {
ray('Server unreachable, sending notification...'); ray('Server unreachable, sending notification...');
$this->server->team->notify(new Unreachable($this->server)); // $this->server->team->notify(new Unreachable($this->server));
} }
$this->server->settings()->update([ $this->server->settings()->update([
'is_reachable' => false, 'is_reachable' => false,
@ -70,7 +70,7 @@ class ContainerStatusJob implements ShouldQueue, ShouldBeEncrypted
} }
if (data_get($this->server, 'unreachable_email_sent') === true) { if (data_get($this->server, 'unreachable_email_sent') === true) {
ray('Server is reachable again, sending notification...'); ray('Server is reachable again, sending notification...');
$this->server->team->notify(new Revived($this->server)); // $this->server->team->notify(new Revived($this->server));
$this->server->update(['unreachable_email_sent' => false]); $this->server->update(['unreachable_email_sent' => false]);
} }
if ( if (

View File

@ -180,55 +180,55 @@ function refresh_server_connection(PrivateKey $private_key)
} }
} }
function validateServer(Server $server, bool $throwError = false) // function validateServer(Server $server, bool $throwError = false)
{ // {
try { // try {
$uptime = instant_remote_process(['uptime'], $server, $throwError); // $uptime = instant_remote_process(['uptime'], $server, $throwError);
if (!$uptime) { // if (!$uptime) {
$server->settings->is_reachable = false; // $server->settings->is_reachable = false;
$server->team->notify(new Unreachable($server)); // $server->team->notify(new Unreachable($server));
$server->unreachable_email_sent = true; // $server->unreachable_email_sent = true;
$server->save(); // $server->save();
return [ // return [
"uptime" => null, // "uptime" => null,
"dockerVersion" => null, // "dockerVersion" => null,
]; // ];
} // }
$server->settings->is_reachable = true; // $server->settings->is_reachable = true;
instant_remote_process(["docker ps"], $server, $throwError); // instant_remote_process(["docker ps"], $server, $throwError);
$dockerVersion = instant_remote_process(["docker version|head -2|grep -i version| awk '{print $2}'"], $server, $throwError); // $dockerVersion = instant_remote_process(["docker version|head -2|grep -i version| awk '{print $2}'"], $server, $throwError);
if (!$dockerVersion) { // if (!$dockerVersion) {
$dockerVersion = null; // $dockerVersion = null;
return [ // return [
"uptime" => $uptime, // "uptime" => $uptime,
"dockerVersion" => null, // "dockerVersion" => null,
]; // ];
} // }
$dockerVersion = checkMinimumDockerEngineVersion($dockerVersion); // $dockerVersion = checkMinimumDockerEngineVersion($dockerVersion);
if (is_null($dockerVersion)) { // if (is_null($dockerVersion)) {
$server->settings->is_usable = false; // $server->settings->is_usable = false;
} else { // } else {
$server->settings->is_usable = true; // $server->settings->is_usable = true;
if (data_get($server, 'unreachable_email_sent') === true) { // if (data_get($server, 'unreachable_email_sent') === true) {
$server->team->notify(new Revived($server)); // $server->team->notify(new Revived($server));
$server->unreachable_email_sent = false; // $server->unreachable_email_sent = false;
$server->save(); // $server->save();
} // }
} // }
return [ // return [
"uptime" => $uptime, // "uptime" => $uptime,
"dockerVersion" => $dockerVersion, // "dockerVersion" => $dockerVersion,
]; // ];
} catch (\Throwable $e) { // } catch (\Throwable $e) {
$server->settings->is_reachable = false; // $server->settings->is_reachable = false;
$server->settings->is_usable = false; // $server->settings->is_usable = false;
throw $e; // throw $e;
} finally { // } finally {
if (data_get($server, 'settings')) { // if (data_get($server, 'settings')) {
$server->settings->save(); // $server->settings->save();
} // }
} // }
} // }
function checkRequiredCommands(Server $server) function checkRequiredCommands(Server $server)
{ {