Пакет 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.
Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!
Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше
Чи стикалися ви з помилкою «SQLSTATE[HY000] [2002] Connection refused» під час налаштування GitHub Actions для вашого додатку на Laravel? У нашій статті ми розглянемо три поширені причини цієї помилки та надамо рішення для їх усунення. Читайте далі, щоб дізнатися, як ваш CI/CD потік може працювати бездоганно!