diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 735b75de1..314205c60 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -12,6 +12,7 @@ use App\Jobs\PullHelperImageJob; use App\Jobs\PullSentinelImageJob; use App\Jobs\PullTemplatesFromCDN; use App\Jobs\ScheduledTaskJob; +use App\Jobs\ServerCheckJob; use App\Jobs\ServerStatusJob; use App\Jobs\UpdateCoolifyJob; use App\Jobs\CheckForUpdatesJob; @@ -33,23 +34,29 @@ class Kernel extends ConsoleKernel $settings = InstanceSettings::get(); if (isDev()) { + // Instance Jobs + $schedule->command('horizon:snapshot')->everyMinute(); + $schedule->job(new CleanupInstanceStuffsJob)->everyMinute()->onOneServer(); + $schedule->job(new PullTemplatesFromCDN)->cron($settings->update_check_frequency)->onOneServer(); // Server Jobs $this->check_scheduled_backups($schedule); - $this->check_resources($schedule); - $this->check_scheduled_backups($schedule); + $this->checkResourcesNew($schedule); $this->check_scheduled_tasks($schedule); $schedule->command('uploads:clear')->everyTwoMinutes(); } else { // Instance Jobs $schedule->command('horizon:snapshot')->everyFiveMinutes(); $schedule->command('cleanup:unreachable-servers')->daily(); - $schedule->job(new PullTemplatesFromCDN)->daily()->onOneServer(); - $schedule->job(new CleanupInstanceStuffsJob)->everyFiveMinutes()->onOneServer(); $this->scheduleUpdates($schedule); $this->pull_images($schedule); - $this->check_resources($schedule); - $this->check_scheduled_tasks($schedule); + $schedule->job(new PullCoolifyImageJob)->cron($settings->update_check_frequency)->onOneServer(); + $schedule->job(new PullTemplatesFromCDN)->cron($settings->update_check_frequency)->onOneServer(); + $schedule->job(new CleanupInstanceStuffsJob)->everyTwoMinutes()->onOneServer(); + + // Server Jobs $this->check_scheduled_backups($schedule); + $this->checkResourcesNew($schedule); + $this->check_scheduled_tasks($schedule); $schedule->command('cleanup:database --yes')->daily(); $schedule->command('uploads:clear')->everyTwoMinutes(); @@ -81,6 +88,21 @@ class Kernel extends ConsoleKernel } } + private function checkResourcesNew($schedule) + { + if (isCloud()) { + $servers = $this->all_servers->whereNotNull('team.subscription')->where('team.subscription.stripe_trial_already_ended', false)->where('ip', '!=', '1.2.3.4'); + $own = Team::find(0)->servers; + $servers = $servers->merge($own); + } else { + $servers = $this->all_servers->where('ip', '!=', '1.2.3.4'); + } + foreach ($servers as $server) { + $schedule->job(new ServerCheckJob($server))->everyMinute()->onOneServer(); + $schedule->job(new DockerCleanupJob($server))->everyTenMinutes()->onOneServer(); + } + } + private function check_resources($schedule) { if (isCloud()) {