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

Watchtower: комплексний моніторинг задач, черг та помилок у Laravel

Watchtower - це Laravel-пакет, який об'єднує моніторинг запланованих задач (scheduled tasks), черг, job'ів та винятків на єдиній панелі керування, призначеній для роботи в production-середовищі. Пакет надає не лише видимість процесів, а й можливість активних дій: запуск задачі за вимогою, масове повторення failed jobs, позначення помилок як вирішених.

Ключові можливості

Пакет підтримує будь-який драйвер черг - database, Redis або SQS - без жорсткої залежності від Redis. Watchtower враховує конфігурації з однією базою даних, кількома базами або multi-tenant архітектурою. Запис даних відбувається безпечно для production завдяки відкладеному запису, sampling та автоматичному pruning.

Доступ до панелі контролюється через gate-механізм у стилі Horizon та Telescope. Опціонально можна налаштувати сповіщення через Slack, webhook або email.

Три вкладки для фонових процесів

Панель розділена на три основні розділи:

Schedule

Вкладка Schedule відображає всі заплановані задачі з їхніми cron-виразами, записаними людською мовою. Тут можна побачити історію виконання, тривалість кожного запуску та виявлення пропущених запусків. Кнопка "Run now" дозволяє негайно запустити будь-яку задачу.

Queues & Jobs

Розділ Queues & Jobs показує live-метрики черг поруч з таблицею failed jobs. Ви можете повторити виконання окремого job'а або масово повторити всі job'и за типом винятку чи часовим проміжком.

Errors

Вкладка Errors групує винятки за типом та кількістю виникнень. Для кожного винятку доступні повні stack traces, контекст запиту та job'а, а також контроли для позначення помилки як вирішеної або повторного відкриття.

Усе це не прив'язане до конкретного драйвера: черги можуть працювати на database, Redis або SQS, а Watchtower читає дані з окремого підключення, коли додаток використовує кілька баз даних або tenants.

Безпека для production за замовчуванням

Запис активності на кожному request та job міг би стати навантаженням для застосунку, тому Watchtower відкладає запис даних до callback'а terminating() у Laravel, виносячи його за межі основного шляху запиту.

Додатки з високим трафіком можуть записувати лише частину активності, використовуючи sampling rate, при цьому всі збої та запуски schedule продовжують фіксуватися повністю. Усі збережені поля обрізаються для обмеження розміру рядків. Щоденна команда watchtower:prune очищає застарілі записи згідно з налаштованими періодами зберігання: 30 днів для schedule runs та exceptions, 7 днів для queue records за замовчуванням.

Більшість параметрів налаштовується через змінні оточення:

WATCHTOWER_ENABLED=true
WATCHTOWER_DB_CONNECTION=monitoring
WATCHTOWER_SAMPLING_RATE=0.25
WATCHTOWER_AFTER_RESPONSE=true
WATCHTOWER_RETAIN_EXCEPTIONS=30

Встановлення WATCHTOWER_ENABLED=false діє як аварійний вимикач, що миттєво зупиняє запис. Списки ігнорування для jobs, commands та exceptions дозволяють прибрати зайві елементи з панелі.

Авторизація

За замовчуванням панель доступна лише в local-середовищі. Для відкриття доступу в інших середовищах потрібно визначити gate viewWatchtower:

use Illuminate\Support\Facades\Gate;

Gate::define('viewWatchtower', function ($user) {
    return $user !== null && $user->isAdmin();
});

Альтернативно можна використати fluent callback, щоб тримати логіку авторизації разом з пакетом:

use Watchtower\Watchtower;

Watchtower::auth(fn ($request) => $request->user()?->isAdmin());

Неавторизовані запити отримують відповідь 403.

Опціональні сповіщення

Watchtower може сповіщати про збій запланованої задачі, пропущений запуск або перевищення порогу failed jobs (за замовчуванням 25 за 60 хвилин). Сповіщення вимкнені до встановлення WATCHTOWER_ALERTS_ENABLED=true і можуть надсилатися через Slack, generic webhook або email.

Перевірки виконуються командою watchtower:monitor, яку потрібно додати до розкладу:

$schedule->command('watchtower:monitor')->everyFiveMinutes();

Вимоги та ліцензія

Watchtower потребує PHP 8.2+ та Laravel 11 або 12. Пакет розповсюджується під ліцензією MIT. Вихідний код, довідку з конфігурації та інструкції з встановлення можна знайти на GitHub.

103

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

Коментарі

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

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

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

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

Вакансії за темою

MAKEUP
19 днів тому

PHP Tech Lead

PHP Tech Lead для великого e-commerce проекту. Управління PHP-командою з 3-8 людей, участь у проектуванні архітектури, code review та розробці критичних частин системи. Вимоги: 6+ років досвіду у PHP/backend, 2+ років у ролі лідера, знання Laravel/Symfony, SQL, REST API, Docker, CI/CD, тестування.

King Group Нова
Сьогодні

Middle PHP developer

Розробник PHP middle-рівня для високонавантаженої веб-платформи Social Casino/Online Casino, яка активно масштабується. Основний стек: PHP 7.4, Symfony 4, Yii, PostgreSQL 14, Redis, RabbitMQ, NGINX; частина сервісів переходить на мікросервіси на Symfony. Вимоги: 3-4+ роки продуктового досвіду з PHP, Yii або Symfony, PostgreSQL, розуміння REST API, досвід роботи з Git, знання ООП і SOLID. Буде плюсом досвід з брокерами повідомлень і DDD.

Logiflow Нова
Сьогодні

Backend developer

Розробка та підтримка REST API на Laravel для публічного API, адмін-панелі та мобільних клієнтів, проєктування БД, робота з чергами, подіями та real-time повідомленнями, інтеграція зовнішніх сервісів. Основний стек: PHP 8.1+, Laravel 10+, Redis, Docker, REST API з OpenAPI. Вимоги: глибоке знання PHP, досвід комерційної розробки на Laravel, дотримання код-стайлу.

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

Telescope

laravel/telescope

Елегантний помічник для налагодження фреймворку Laravel, який допомагає розробникам в розробці та тестуванні додатків.

5,233 v5.26.0 13 6

Kalimera

welldigit/kalimera

Interactive installer that scaffolds Laravel applications the Well Digit way.

v1.0.0 12