only run kernel tasks on one server

lifted from https://github.com/pixelfed/pixelfed/pull/4634
pull/4844/head
Christian Winther 1 year ago
parent 98211d3620
commit b19d3a20dd

@ -7,53 +7,53 @@ use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel class Kernel extends ConsoleKernel
{ {
/** /**
* The Artisan commands provided by your application. * The Artisan commands provided by your application.
* *
* @var array * @var array
*/ */
protected $commands = [ protected $commands = [
// //
]; ];
/** /**
* Define the application's command schedule. * Define the application's command schedule.
* *
* @param \Illuminate\Console\Scheduling\Schedule $schedule * @param \Illuminate\Console\Scheduling\Schedule $schedule
* *
* @return void * @return void
*/ */
protected function schedule(Schedule $schedule) protected function schedule(Schedule $schedule)
{ {
$schedule->command('media:optimize')->hourlyAt(40); $schedule->command('media:optimize')->hourlyAt(40)->onOneServer();
$schedule->command('media:gc')->hourlyAt(5); $schedule->command('media:gc')->hourlyAt(5)->onOneServer();
$schedule->command('horizon:snapshot')->everyFiveMinutes(); $schedule->command('horizon:snapshot')->everyFiveMinutes()->onOneServer();
$schedule->command('story:gc')->everyFiveMinutes(); $schedule->command('story:gc')->everyFiveMinutes()->onOneServer();
$schedule->command('gc:failedjobs')->dailyAt(3); $schedule->command('gc:failedjobs')->dailyAt(3)->onOneServer();
$schedule->command('gc:passwordreset')->dailyAt('09:41'); $schedule->command('gc:passwordreset')->dailyAt('09:41')->onOneServer();
$schedule->command('gc:sessions')->twiceDaily(13, 23); $schedule->command('gc:sessions')->twiceDaily(13, 23)->onOneServer();
if(in_array(config_cache('pixelfed.cloud_storage'), ['1', true, 'true']) && config('media.delete_local_after_cloud')) { if (in_array(config_cache('pixelfed.cloud_storage'), ['1', true, 'true']) && config('media.delete_local_after_cloud')) {
$schedule->command('media:s3gc')->hourlyAt(15); $schedule->command('media:s3gc')->hourlyAt(15)->onOneServer();
} }
if(config('import.instagram.enabled')) { if (config('import.instagram.enabled')) {
$schedule->command('app:transform-imports')->everyFourMinutes(); $schedule->command('app:transform-imports')->everyFourMinutes()->onOneServer();
$schedule->command('app:import-upload-garbage-collection')->hourlyAt(51); $schedule->command('app:import-upload-garbage-collection')->hourlyAt(51)->onOneServer();
$schedule->command('app:import-remove-deleted-accounts')->hourlyAt(37); $schedule->command('app:import-remove-deleted-accounts')->hourlyAt(37)->onOneServer();
$schedule->command('app:import-upload-clean-storage')->twiceDailyAt(1, 13, 32); $schedule->command('app:import-upload-clean-storage')->twiceDailyAt(1, 13, 32)->onOneServer();
} }
} }
/** /**
* Register the commands for the application. * Register the commands for the application.
* *
* @return void * @return void
*/ */
protected function commands() protected function commands()
{ {
$this->load(__DIR__.'/Commands'); $this->load(__DIR__ . '/Commands');
require base_path('routes/console.php'); require base_path('routes/console.php');
} }
} }

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
set -o errexit -o nounset -o pipefail
set -e
source /lib.sh source /lib.sh
entrypoint_log "==> Create the storage tree if needed" entrypoint_log "==> Create the storage tree if needed"

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
set -o errexit -o nounset -o pipefail
set -e
source /lib.sh source /lib.sh
entrypoint_log "==> config:cache" entrypoint_log "==> config:cache"

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
set -o errexit -o nounset -o pipefail
set -e
source /lib.sh source /lib.sh
as_www_user php artisan horizon:publish as_www_user php artisan horizon:publish

Loading…
Cancel
Save