Skip to content

Commit 82a5b4c

Browse files
committed
refactor: server status job and docker cleanup job
1 parent b8e95b2 commit 82a5b4c

File tree

3 files changed

+5
-73
lines changed

3 files changed

+5
-73
lines changed

app/Console/Kernel.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use App\Jobs\CleanupInstanceStuffsJob;
77
use App\Jobs\ContainerStatusJob;
88
use App\Jobs\DatabaseBackupJob;
9+
use App\Jobs\DockerCleanupJob;
910
use App\Jobs\PullCoolifyImageJob;
1011
use App\Jobs\PullHelperImageJob;
1112
use App\Jobs\PullSentinelImageJob;
@@ -87,6 +88,7 @@ private function check_resources($schedule)
8788
}
8889
foreach ($servers as $server) {
8990
$schedule->job(new ServerStatusJob($server))->everyMinute()->onOneServer();
91+
$schedule->job(new DockerCleanupJob($server))->everyTenMinutes()->onOneServer();
9092
}
9193
}
9294

app/Jobs/DockerCleanupJob.php

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,30 +41,25 @@ public function handle(): void
4141
return;
4242
}
4343
if ($this->server->is_force_cleanup_enabled) {
44-
CleanupDocker::run($this->server);
44+
CleanupDocker::run(server: $this->server, force: true);
4545

4646
return;
4747
}
48+
4849
$this->usageBefore = $this->server->getDiskUsage();
49-
ray('Usage before: '.$this->usageBefore);
5050
if ($this->usageBefore >= $this->server->settings->cleanup_after_percentage) {
51-
ray('Cleaning up '.$this->server->name);
52-
CleanupDocker::run($this->server);
51+
CleanupDocker::run(server: $this->server, force: false);
5352
$usageAfter = $this->server->getDiskUsage();
5453
if ($usageAfter < $this->usageBefore) {
5554
$this->server->team?->notify(new DockerCleanup($this->server, 'Saved '.($this->usageBefore - $usageAfter).'% disk space.'));
56-
// ray('Saved ' . ($this->usageBefore - $usageAfter) . '% disk space on ' . $this->server->name);
57-
// send_internal_notification('DockerCleanupJob done: Saved ' . ($this->usageBefore - $usageAfter) . '% disk space on ' . $this->server->name);
5855
Log::info('DockerCleanupJob done: Saved '.($this->usageBefore - $usageAfter).'% disk space on '.$this->server->name);
5956
} else {
6057
Log::info('DockerCleanupJob failed to save disk space on '.$this->server->name);
6158
}
6259
} else {
63-
ray('No need to clean up '.$this->server->name);
6460
Log::info('No need to clean up '.$this->server->name);
6561
}
6662
} catch (\Throwable $e) {
67-
// send_internal_notification('DockerCleanupJob failed with: '.$e->getMessage());
6863
ray($e->getMessage());
6964
throw $e;
7065
}

app/Jobs/ServerStatusJob.php

Lines changed: 0 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
namespace App\Jobs;
44

55
use App\Models\Server;
6-
use App\Notifications\Server\HighDiskUsage;
76
use Illuminate\Bus\Queueable;
87
use Illuminate\Contracts\Queue\ShouldBeEncrypted;
98
use Illuminate\Contracts\Queue\ShouldQueue;
@@ -44,7 +43,6 @@ public function handle()
4443
}
4544
try {
4645
if ($this->server->isFunctional()) {
47-
$this->cleanup();
4846
$this->remove_unnecessary_coolify_yaml();
4947
if ($this->server->isSentinelEnabled()) {
5048
$this->server->checkSentinel();
@@ -56,45 +54,7 @@ public function handle()
5654

5755
return handleError($e);
5856
}
59-
try {
60-
// $this->check_docker_engine();
61-
} catch (\Throwable $e) {
62-
// Do nothing
63-
}
64-
}
65-
66-
private function check_docker_engine()
67-
{
68-
$version = instant_remote_process([
69-
'docker info',
70-
], $this->server, false);
71-
if (is_null($version)) {
72-
$os = instant_remote_process([
73-
'cat /etc/os-release | grep ^ID=',
74-
], $this->server, false);
75-
$os = str($os)->after('ID=')->trim();
76-
if ($os === 'ubuntu') {
77-
try {
78-
instant_remote_process([
79-
'systemctl start docker',
80-
], $this->server);
81-
} catch (\Throwable $e) {
82-
ray($e->getMessage());
8357

84-
return handleError($e);
85-
}
86-
} else {
87-
try {
88-
instant_remote_process([
89-
'service docker start',
90-
], $this->server);
91-
} catch (\Throwable $e) {
92-
ray($e->getMessage());
93-
94-
return handleError($e);
95-
}
96-
}
97-
}
9858
}
9959

10060
private function remove_unnecessary_coolify_yaml()
@@ -108,29 +68,4 @@ private function remove_unnecessary_coolify_yaml()
10868
], $this->server, false);
10969
}
11070
}
111-
112-
public function cleanup(): void
113-
{
114-
if ($this->server->settings->is_force_cleanup_enabled) {
115-
DockerCleanupJob::dispatch($this->server);
116-
117-
return;
118-
}
119-
$this->disk_usage = $this->server->getDiskUsage();
120-
if ($this->disk_usage >= $this->server->settings->cleanup_after_percentage) {
121-
DockerCleanupJob::dispatch($this->server);
122-
if ($this->server->high_disk_usage_notification_sent) {
123-
ray('high disk usage notification already sent');
124-
125-
return;
126-
} else {
127-
$this->server->high_disk_usage_notification_sent = true;
128-
$this->server->save();
129-
$this->server->team?->notify(new HighDiskUsage($this->server, $this->disk_usage, $this->server->settings->cleanup_after_percentage));
130-
}
131-
} else {
132-
$this->server->high_disk_usage_notification_sent = false;
133-
$this->server->save();
134-
}
135-
}
13671
}

0 commit comments

Comments
 (0)