From 8fbd0b44d5fd7e87a69e4c305037b87015747d49 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 30 Oct 2024 21:33:06 +0100 Subject: [PATCH] Refactor Server model to remove SSH multiplexing file and add ServerCleanupMux job - Remove SSH multiplexing file from the Server model - Add ServerCleanupMux job to cleanup multiplexed connections every hour --- app/Console/Kernel.php | 3 +++ app/Jobs/ServerCleanupMux.php | 42 +++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 app/Jobs/ServerCleanupMux.php diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 67ff819ed..cd560eee3 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -12,6 +12,7 @@ use App\Jobs\DockerCleanupJob; use App\Jobs\PullTemplatesFromCDN; use App\Jobs\ScheduledTaskJob; use App\Jobs\ServerCheckJob; +use App\Jobs\ServerCleanupMux; use App\Jobs\UpdateCoolifyJob; use App\Models\ScheduledDatabaseBackup; use App\Models\ScheduledTask; @@ -120,6 +121,8 @@ class Kernel extends ConsoleKernel } else { $schedule->job(new DockerCleanupJob($server))->everyTenMinutes()->timezone($serverTimezone)->onOneServer(); } + // Cleanup multiplexed connections every hour + $schedule->job(new ServerCleanupMux($server))->hourly()->onOneServer(); // Temporary solution until we have better memory management for Sentinel if ($server->isSentinelEnabled()) { diff --git a/app/Jobs/ServerCleanupMux.php b/app/Jobs/ServerCleanupMux.php new file mode 100644 index 000000000..70ea59752 --- /dev/null +++ b/app/Jobs/ServerCleanupMux.php @@ -0,0 +1,42 @@ +server->serverStatus() === false) { + return 'Server is not reachable or not ready.'; + } + SshMultiplexingHelper::removeMuxFile($this->server); + + } catch (\Throwable $e) { + return handleError($e); + } + + } +}