diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 665553fcb..494e6d7b6 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -41,7 +41,9 @@ protected function schedule(Schedule $schedule): void $this->instanceTimezone = config('app.timezone'); } - $this->scheduleInstance->job(new CleanupStaleMultiplexedConnections)->hourly()->onOneServer(); + $this->scheduleInstance->job(new CleanupStaleMultiplexedConnections, crons_queue()) + ->hourly() + ->onOneServer(); $this->scheduleInstance->command('cleanup:redis --clear-locks')->daily(); $this->scheduleInstance->command('sanctum:prune-expired --hours=1')->hourly()->onOneServer(); $this->scheduleInstance->job(new ApiTokenExpirationWarningJob)->hourly()->onOneServer(); diff --git a/tests/Feature/ScheduleOnOneServerTest.php b/tests/Feature/ScheduleOnOneServerTest.php index 10758738c..b11017107 100644 --- a/tests/Feature/ScheduleOnOneServerTest.php +++ b/tests/Feature/ScheduleOnOneServerTest.php @@ -1,8 +1,10 @@ onOneServer)->toBeTrue(); }); +it('schedules CleanupStaleMultiplexedConnections on the crons queue', function () { + config(['constants.coolify.self_hosted' => false]); + Queue::fake(); + + $schedule = app(Schedule::class); + + $event = collect($schedule->events())->first( + fn ($e) => str_contains((string) $e->description, CleanupStaleMultiplexedConnections::class) + ); + + expect($event)->not->toBeNull(); + + $event->run(app()); + + Queue::assertPushedOn('crons', CleanupStaleMultiplexedConnections::class); +}); + it('schedules every production job with onOneServer', function () { $schedule = app(Schedule::class);