Пакет laravel-job-status надає простий спосіб відстежувати статус та прогрес ваших завдань у черзі. Він автоматично зберігає статуси завдань у базі даних, що дозволяє вам запитувати та відображати поточний прогрес, статус і результати будь-якого фонового завдання у вашому застосунку.
Щоб відстежувати статус завдання в черзі, потрібно додати трейт Trackable, що надається цим пакетом:
use Imtigger\LaravelJobStatus\Trackable;
class MyJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels, Trackable;
public function __construct(array $params)
{
$this->prepareStatus();
// ...
}
public function handle()
{
$this->setProgressNow(10, 100); // Встановлення поточного прогресу
$this->setProgressMax(100); // Встановлення максимальної межі прогресу
// Виконання роботи...
$this->setOutput(['message' => 'Завдання завершено!']);
}
}
Коли завдання використовує трейт Trackable, воно автоматично створює запис у базі даних під час виконання. Ви можете отримати статус завдання, використовуючи метод getJobStatusId():
use DispatchesJobs;
$job = new TrackableJob([]);
$this->dispatch($job);
$jobStatusId = $job->getJobStatusId();
$jobStatus = JobStatus::find($jobStatusId);
// Властивості моделі
$jobStatus->job_id
$jobStatus->type
$jobStatus->queue
$jobStatus->status
$jobStatus->attempts
$jobStatus->progress_now
$jobStatus->progress_max
$jobStatus->input
$jobStatus->output
$jobStatus->created_at
$jobStatus->updated_at
$jobStatus->started_at
$jobStatus->finished_at
Детальніше можна дізнатися на GitHub-сторінці laravel-job-status.
Досліджуйте потужний пакет Intervention Image для PHP, який виводить редагування зображень на новий рівень з оновленою версією 3. Чи готові ви дізнатися, які нові можливості та функції чекають на вас у цьому інструменті
Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!
Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше