Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Новини 02 липня 2026

Метрики воркерів у події WorkerStopping у Laravel 13.18

Laravel 13.18.0 приносить важливі покращення для роботи з чергами, планувальником завдань та інструментами розробки. Оновлення включає метрики воркерів, коректне завершення процесів за сигналами, пріоритетну систему реєстрації команд та виправлення критичних помилок у Number-хелперах.

Метрики воркерів у події WorkerStopping

Подія WorkerStopping тепер передає дві додаткові метрики, які описують роботу воркера перед його зупинкою: jobsProcessed - кількість оброблених завдань протягом життєвого циклу воркера, та lastJobProcessedAt - мікросекундна мітка часу останнього обробленого завдання. Обидві метрики заповнюються незалежно від того, зупинився воркер штатно чи був примусово завершений.

use Illuminate\Queue\Events\WorkerStopping;
Event::listen(function (WorkerStopping $event) {
    $event->jobsProcessed;      // int|null
    $event->lastJobProcessedAt; // int|float|null (microtime), null якщо нічого не оброблено
});

Це дає змогу записувати продуктивність кожного воркера або відправляти метрики при завершенні демона без необхідності інструментувати цикл обробки завдань самостійно. Якщо воркер зупиняється до обробки будь-яких завдань, lastJobProcessedAt залишається null.

Коректне завершення для schedule:work

Команда schedule:work тепер перехоплює сигнали SIGINT, SIGTERM та SIGQUIT. При отриманні сигналу вона припиняє запуск нових запланованих завдань і чекає завершення поточного процесу schedule:run перед виходом, повторюючи існуючу поведінку queue:work. Це особливо важливо в контейнерних середовищах як Kubernetes, де поди отримують SIGTERM при завершенні, а попередня поведінка могла переривати виконувані завдання.

Пріоритетна реєстрація команд для artisan dev

Команди розробки, зареєстровані для artisan dev, тепер відстежують своє походження (ваш застосунок, vendor-пакет або сам фреймворк) і реєструються з відповідним пріоритетом. Коли кілька команд мають однакову назву, реєстрації з користувацького коду перемагають над vendor-версіями, які в свою чергу мають пріоритет над стандартними командами фреймворка, незалежно від порядку завантаження сервіс-провайдерів.

use Illuminate\Foundation\Console\DevCommands;
DevCommands::artisan('reverb:start --host="0.0.0.0"', 'reverb');

Це замінює попередній підхід з блокуванням автореєстрації vendor-команд на явну систему пріоритетів, тому ваші перевизначення завжди спрацьовують. Крім того, artisan dev тепер запускається з опцією --kill-others-on-fail, тож якщо один процес у групі падає, решта зупиняються замість того, щоб продовжувати працювати.

Захист Number-хелперів від INF/NAN

Методи Number::forHumans() та Number::abbreviate() раніше викидали помилку при передачі значень INF або NAN, і Number::fileSize() мав ту саму проблему. Обидва випадки виправлено, тож ці значення тепер опрацьовуються коректно без викидання винятків.

Інші виправлення та покращення

Версія включає низку додаткових виправлень:

  • Додатково зменшено кількість звернень до кешу при використанні debounced jobs
  • Виправлено встановлення заголовків кешу для HEAD-запитів
  • Заборонено спрацювання події restored коли відновлення після soft-delete не вдається
  • Виправлено серіалізацію параметра releaseAfter у middleware RateLimited в методі __sleep()
  • Усунено колізії міток для flexible() lock та defer у TaggedCache
  • Виправлено парсинг JSON для тіл верхнього рівня з нульовими значеннями
  • Додано умовні типи повернення до кількох методів та синхронізовано типи повернення геттерів з дженериками їхніх властивостей

Повний список змін доступний в офіційному changelog та release notes на GitHub.

2

Читати в документації

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Filament v5.10.0
Новини 12 жовтня 2026

Filament v5.10.0: сітка в rich editor, скелетони таблиць і десятки виправлень

Вийшов Filament v5.10.0: елементи керування сіткою в rich editor, допоміжний контент для віджетів-графіків, скелетони завантаження таблиць, submitOnCompletion() для OneTimeCodeInput та багато виправлень авторизації, доступності й стану.

22
Laravel AI SDK на практиці
Новини 09 жовтня 2026

Laravel AI SDK на практиці: агент, що стоїть за There There

Фрік Ван дер Гертен розповідає, як у Spatie побудували AI-шар хелпдеска There There на Laravel AI SDK: клас агента, інструменти з типізованою JSON-схемою та делегування роботи звичайним domain-діям.

18

Пакети за темою

Laravel Debugbar

barryvdh/laravel-debugbar

Інтеграція PHP Debugbar у Laravel для відлагодження та аналізу роботи додатку.

19,291 v4.4.4 13 11

Collision

nunomaduro/collision

Читабельні повідомлення про помилки в консолі: акуратний стек-трейс із підсвіченим кодом замість стіни тексту. Входить у стандартну поставку Laravel і працює разом із Pest та PHPUnit.

4,657 v8.9.5 2