Add FailedJob garbage collection

This commit is contained in:
Daniel Supernault 2020-01-28 23:13:27 -07:00
parent 7e59df4e64
commit 5d424f126a
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7
2 changed files with 50 additions and 0 deletions

View file

@ -0,0 +1,49 @@
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\FailedJob;
class FailedJobGC extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'gc:failedjobs';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Delete failed jobs over 1 month old';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
FailedJob::chunk(50, function($jobs) {
foreach($jobs as $job) {
if($job->failed_at->lt(now()->subMonth())) {
$job->delete();
}
}
});
}
}

View file

@ -31,6 +31,7 @@ class Kernel extends ConsoleKernel
->hourly();
$schedule->command('horizon:snapshot')->everyFiveMinutes();
$schedule->command('story:gc')->everyFiveMinutes();
$schedule->command('gc:failedjobs')->daily();
}
/**