pixelfed/app/Console/Commands/FailedJobGC.php

50 lines
929 B
PHP

<?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()->subHours(48))) {
$job->delete();
}
}
});
}
}