Відстежуйте прогрес і статус завдань у Laravel за допомогою пакету Laravel Job Status

1
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 05 січня, 2026
Ви коли-небудь замислювалися, як просто відстежувати статус ваших чергових завдань у Laravel? У нашій статті ви дізнаєтеся про пакет laravel-job-status, який автоматично зберігає статуси завдань у базі даних, спрощуючи процес моніторингу прогресу ваших фоновых задач

Пакет 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.

Популярні

Logomark Logotype

Використання штучного інтелекту для управління перекладами в Laravel

Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!

Logomark Logotype

Як задокументувати кілька API в Laravel за допомогою Scramble

Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше

Logomark Logotype

"SQLSTATE[HY000] [2002] Connection refused" у Laravel в GitHub Actions

Чи стикалися ви з помилкою «SQLSTATE[HY000] [2002] Connection refused» під час налаштування GitHub Actions для вашого додатку на Laravel? У нашій статті ми розглянемо три поширені причини цієї помилки та надамо рішення для їх усунення. Читайте далі, щоб дізнатися, як ваш CI/CD потік може працювати бездоганно!