Giao diện
Laravel Horizon
Nguồn gốc: Bản dịch từ Laravel Horizon
Giới thiệu (Introduction)
Laravel Horizon cung cấp giao diện dashboard đẹp mắt và hệ thống cấu hình cho queue Redis của Laravel. Horizon cho phép giám sát throughput, runtime, lỗi job trong hệ thống queue một cách trực quan.
Horizon lưu toàn bộ cấu hình queue worker trong một file config duy nhất, dễ dàng chia sẻ với team.
Cài đặt (Installation)
bash
composer require laravel/horizonPublish assets:
bash
php artisan horizon:installConfiguration
File config/horizon.php cho phép cấu hình queue worker. Mỗi option có mô tả mục đích — nên xem kỹ.
Horizon sử dụng "environments" (production, local...) với "supervisors" cho mỗi environment, mỗi supervisor có cấu hình worker riêng.
Dashboard Authorization
Horizon dashboard truy cập tại /horizon. Mặc định chỉ truy cập được trong môi trường local. Dùng Horizon::auth() để định nghĩa authorization cho môi trường khác.
Max Job Attempts và Timeout
Cấu hình số lần thử lại và timeout cho job.
Job Backoff
Cấu hình thời gian chờ giữa các lần retry.
Silenced Jobs
Ẩn job không quan trọng khỏi dashboard.
Balancing Strategies
Auto Balancing
Horizon tự động phân phối worker giữa các queue dựa trên workload.
Simple Balancing
Phân phối worker đều giữa các queue.
No Balancing
Giữ nguyên số worker như cấu hình.
Chạy Horizon (Running Horizon)
bash
php artisan horizonTạm dừng / tiếp tục:
bash
php artisan horizon:pause
php artisan horizon:continueDừng:
bash
php artisan horizon:terminateDeploying Horizon
Dùng Supervisor hoặc process manager để giữ Horizon chạy. Khi deploy, terminate Horizon để chạy lại với code mới.
Tags
Horizon cho phép gán "tag" cho job, giúp tìm kiếm và lọc trong dashboard.
Notifications
Cấu hình Horizon gửi thông báo khi queue wait time quá dài.
Metrics
Dashboard hiển thị job và queue metrics: throughput, runtime.
Xóa Failed Jobs
Xóa failed job qua dashboard hoặc Artisan command.
Xóa Jobs khỏi Queue
bash
php artisan horizon:clear