clrghouz/app/Console/Commands/JobList.php

51 lines
960 B
PHP

<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Models\Job;
class JobList extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'job:list';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Detail list of items in the queue';
/**
* Execute the console command.
*/
public function handle(): int
{
$lastq = NULL;
foreach (Job::orderBy('queue')->orderBy('created_at')->cursor() as $o) {
if ($o->queue !== $lastq) {
$this->alert(sprintf('Queue: %s',$o->queue));
$lastq = $o->queue;
}
$this->info(sprintf('%s-%d: %s[%s] - %d/%d tries [Next:%s]%s',
$o->uuid,
$o->id,
$o->display_name,
$o->command->jobname,
$o->attempts,$o->maxTries,
$o->available_at ?: '-',
$o->attempts ? sprintf(' (Created:%s)',$o->created_at) : ''
));
}
return self::SUCCESS;
}
}