文章轉發自專業的Laravel開發者社區,原始連接:learnku.com/laravel/t/3…php
今天我得意的宣佈 Laravel Horizon, 它爲 Laravel Redis 隊列提供了精美的儀表盤和代碼驅動的配置系統。前端
除了全新的代碼驅動配置系統, Horizon 還有美麗的儀表盤 UI, 它徹底開源,對整個 Laravel 社區都是免費的,咱們明天發佈測試版本,我但願你會喜歡它。laravel
譯者注: 截止 2019 年 10 月,Horizon 已經發布了 3.4.1 版本git
composer require laravel / horizon
直接安裝到現有應用程序中。 它提供對隊列工做負載,最近的做業,失敗的做業,做業重試,吞吐量和運行時指標以及進程計數的實時洞察。 經過
Horizon :: auth
註冊的簡單回調控制儀表板的身份驗證,從而使您能夠徹底控制對儀表板的訪問。
Horizon 是配置 Laravel 隊列的絕佳新方法。 與 Laravel 的調度程序相似,全部隊列工做者均可以經過代碼配置:github
在您的代碼中擁有此配置意味着這一切都在源代碼控制之下,從而使您的團隊能夠輕鬆地進行協做。在config/horizon.php
文件中,咱們配置要建立的進程數量、須要處理的隊列、隊列超時時間以及須要傳遞給
queue:work
Artisan 命令的其餘任何設置 。
而後,要啓動全部的隊列工做者,只須要一個簡單的命令:php artisan horizon
。 不須要其餘命令行選項。 該命令將讀取 Horizon 配置並配置全部必需的工做進程。後端
將 Horizon 安裝並部署到生產環境後,您能夠經過修改配置文件並從新部署來修改整個隊列工做者的配置。composer
Horizon 提供了清晰詳細的界面,用於檢查和重試失敗的任務(是的,咱們都有)。 您能夠查看該任務的異常堆棧跟蹤,標籤和最近重試記錄。 將失敗的任務詳細信息直接在頁面上顯示真是太好了。 因爲重試是連接到失敗的原始任務,所以您再也不須要盲目地嘗試在控制檯輸入queue:retry
並肯定其重試是成功完成仍是再次失敗:性能
Horizon 容許您爲任務分配標籤,包括Email
、Broadcasts
、Notifications
和Queued Listeners
。 實際上,Horizon 會根據附加到隊列的 Eloquent Model 智能地給大多數任務打上標籤。測試
您能夠經過這些標籤輕鬆地搜索到隊列任務,從而查看特定的客戶任務或者程序中的其餘隊列任務。 此功能使您能夠快速關注高價值客戶,或爲剛提交支持工單的客戶找到失敗的任務:ui
default
隊列爲空,但
notifications
隊列中充滿了隊列任務,則 Horizon 能夠自動將
notifications
的任務分配到
default
隊列中,以幫助快速處理這些任務。
隊列遇上後,Horizon 將確保在全部隊列中公平地從新分配任務。
horizon:snapshot
命令捕獲的,可使用 Laravel 內置的
任務調度將其設置爲每分鐘運行一次。 這使您能夠快速發現部署後的性能降低。
我要特別感謝Mohamed Said,David Hemphill和Steve Schoger,他們都爲 Horizon 的設計和開發作出了貢獻。 Steve 設計了用戶界面,David Hemphill 將其做爲 Vue 應用程序實現了接口,Mohamed 將前端鏈接到了我實現的 Horizon 後端。