Laravel Horizon Untuk Fitur Monitoring
Laravel Horizon kali ini sudah di rilis. Ini menggabungkan dasboard yang indah untuk isyarat Laravel Redis dengan sistem konfigurasi berbasis kode.
Selain sistem konfigurasi berbasis kode yang benar-benar baru, Horizon adalah UI dashboard yang benar-benar indah, sepenuhnya open source, dan gratis untuk seluruh komunitas Laravel.
Dashboard
Dasboard Horizon adalah aplikasi Vue satu halaman yang indah yang Anda instal langsung ke aplikasi yang ada menggunakan komposer sederhana yang membutuhkan laravel/horizon. Ini memberikan wawasan real-time ke beban kerja antrian, pekerjaan terbaru, pekerjaan gagal, percobaan ulang pekerjaan, metrik throughput dan runtime, dan jumlah proses. Otentikasi ke dasboard dikendalikan oleh panggilan balik sederhana yang terdaftar melalui Horizon::auth, memberi Anda kendali penuh atas akses ke dasboard.
Konfigurasi
Horizon adalah cara baru yang bagus untuk mengonfigurasi isyarat Laravel. Seperti penjadwal Laravel, semua konfigurasi pekerja antrian ada dalam kode Anda.
Memiliki konfigurasi ini di basis kode Anda berarti semuanya berada di bawah kendali sumber, sehingga memudahkan tim untuk berkolaborasi. Dalam file config/horizon.php, Anda dapat mengonfigurasi jumlah proses yang akan dibuat, antrian yang akan diproses, batas waktu antrian, dan pengaturan lain yang biasanya Anda berikan ke queue:work artisan command.
Kedua, Anda hanya perlu satu perintah sederhana, php artisan horizon, untuk memulai semua pekerja antrian. Tidak ada opsi baris perintah lain yang diperlukan. Perintah ini membaca konfigurasi Horizon dan menyediakan semua proses pekerja yang diperlukan.
Setelah Horizon diinstal dan disebarkan ke produksi, Anda dapat mengubah seluruh konfigurasi pekerja dengan memodifikasi dan menerapkan ulang file konfigurasi.
Failed Jobs
Horizon menyediakan antarmuka yang jelas dan terperinci untuk mengidentifikasi pekerjaan yang gagal dan mencoba lagi (ya, kita semua memilikinya). Anda dapat melihat pelacakan tumpukan pengecualian pekerjaan, tag, dan percobaan ulang terbaru. Sangat menyenangkan untuk melihatnya langsung di halaman detail pekerjaan di mana percobaan ulang pekerjaan baru-baru ini gagal. Coba lagi ditautkan ke pekerjaan asli yang gagal, jadi tidak perlu memulai antrean secara membabi buta. Coba lagi di konsol menggunakan perintah queue:retry untuk melihat apakah percobaan ulang berhasil atau gagal lagi:
Pemantauan Tag
Horizon memungkinkan Anda untuk menetapkan "tag" ke pekerjaan seperti mailable, broadcast, notifikasi, dan pendengar yang antri. Faktanya, Horizon dengan cerdas dan otomatis menandai sebagian besar pekerjaan menurut model Eloquent yang melekat pada pekerjaan itu.
Anda dapat dengan mudah mencari pekerjaan menggunakan tag ini sehingga Anda dapat melihat semua pekerjaan untuk pelanggan tertentu atau entitas lain dalam aplikasi Anda. Anda dapat menggunakan fitur ini untuk memantau pelanggan bernilai tinggi dengan cepat atau menemukan pekerjaan yang gagal untuk pelanggan yang baru saja mengirimkan tiket dukungan:
Menyeimbangkan
Horizon dapat secara otomatis menyeimbangkan proses pekerja antrian di seluruh antrian, tergantung pada beban kerja antrian. Misalnya, jika antrian Default kosong, tetapi antrian Pemberitahuan penuh dengan pekerjaan, Horizon dapat secara otomatis menetapkan pekerja cadangan ke antrian Pemberitahuan untuk memproses pekerjaan tersebut dengan cepat.
Ketika antrian menyusul, Horizon memastikan bahwa proses tersebut didistribusikan kembali secara merata di semua antrian.
Metrik
Horizon menyediakan bagan throughput dan rata-rata run-time yang memungkinkan Anda melihat tren throughput dan run-time di setiap pekerjaan atau antrean. Snapshot metrik ini diambil menggunakan perintah horizon::snapshot. Perintah ini dapat dijadwalkan untuk dijalankan setiap menit menggunakan penjadwal bawaan Laravel. Ini memungkinkan Anda dengan cepat melihat penurunan kinerja setelah penerapan.
Notifikasi
Ketika salah satu antrian penuh, Horizon akan mengirimkan notifikasi Slack dan SMS. Anda dapat dengan mudah mengonfigurasi ambang waktu tunggu untuk menentukan kapan harus mengirim pemberitahuan. Artinya, kami selalu mengetahui kapan lebih banyak pekerja akan dibutuhkan dalam antrian. Saat Anda menerima pemberitahuan, konfigurasi berbasis kode Horizon memungkinkan Anda mengubah konfigurasi dengan cepat dan menambahkan lebih banyak pekerja.