</>
maximorum.com

Laravel Horizon: моніторинг черг і контроль бізнес-автоматизації

D

Черги Laravel обробляють тисячі задач у фоні — від відправки email і генерації PDF до синхронізації замовлень з Nova Poshta та LiqPay. Але без належного моніторингу збій у черзі зупиняє бізнес-процеси непомітно — і ви дізнаєтесь про проблему тільки від клієнта.

Laravel Horizon вирішує цю проблему, надаючи панель моніторингу в реальному часі з метриками, сповіщеннями та керуванням воркерами.

Що дає Horizon бізнесу

Horizon — офіційний пакет Laravel для управління чергами на базі Redis. Він показує:

  • Кількість задач у черзі в реальному часі
  • Час виконання кожного job-класу
  • Кількість збоїв і повні трасування помилок
  • Пропускну здатність черги (throughput) за годину, день, тиждень

Для бізнесу це означає: ви бачите, чи обробляються замовлення, чи відправляються повідомлення, чи синхронізуються дані — без ручного моніторингу сервера.

Налаштування Horizon у проєкті

Встановлення займає менше години:

composer require laravel/horizon
php artisan horizon:install
php artisan migrate

Конфігурація у config/horizon.php дозволяє задати кілька середовищ воркерів: local, staging, production. Для кожного — окремі черги, пріоритети та кількість одночасних процесів.

Типова продакшн-конфігурація для e-commerce:

'production' => [
    'supervisor-1' => [
        'connection' => 'redis',
        'queue' => ['critical', 'default', 'notifications'],
        'balance' => 'auto',
        'maxProcesses' => 10,
        'tries' => 3,
    ],
],

Черга critical для платіжних операцій

Для інтеграцій LiqPay, Monobank і Nova Poshta ми виносимо платіжні та логістичні callback-и в окрему чергу critical з найвищим пріоритетом. Це гарантує, що статус замовлення оновлюється миттєво, навіть при пікових навантаженнях.

Сповіщення при збоях

Horizon підтримує Horizon::routeSlackNotificationsTo() — налаштовуємо Slack-канал або Telegram-бот, і команда отримує сповіщення щойно воркер упав або job зазнав невдачі тричі поспіль. Реакція на збій — хвилини замість годин.

Результат для бізнесу

Клієнти, які перейшли з базового php artisan queue:work на Horizon, отримали:

  • Повну видимість у операційну роботу черг без доступу до сервера
  • Скорочення часу реакції на збої з годин до хвилин
  • Зменшення кількості «зависаючих» замовлень на 90%

Хочете налаштувати Horizon у вашому Laravel-проєкті? Зв'яжіться з MaxiMoruM →