下面由Laravel教程欄目給大家介紹介紹 Laravel Horizon,希望對(duì)需要的朋友有所幫助!
介紹 Laravel Horizon
今天我得意的宣布 Laravel Horizon, 它為 Laravel Redis 隊(duì)列提供了精美的儀表盤(pán)和代碼驅(qū)動(dòng)的配置系統(tǒng)。
除了全新的代碼驅(qū)動(dòng)配置系統(tǒng), Horizon 還有美麗的儀表盤(pán) UI, 它完全開(kāi)源,對(duì)整個(gè) Laravel 社區(qū)都是免費(fèi)的,我們明天發(fā)布測(cè)試版本,我希望你會(huì)喜歡它。
譯者注: 截止 2019 年 10 月,Horizon 已經(jīng)發(fā)布了 3.4.1 版本
儀表盤(pán)
Horizon 儀表板是一個(gè)漂亮的單頁(yè) Vue 應(yīng)用程序,可通過(guò)簡(jiǎn)單的composer require laravel / horizon
直接安裝到現(xiàn)有應(yīng)用程序中。 它提供對(duì)隊(duì)列工作負(fù)載,最近的作業(yè),失敗的作業(yè),作業(yè)重試,吞吐量和運(yùn)行時(shí)指標(biāo)以及進(jìn)程計(jì)數(shù)的實(shí)時(shí)洞察。 通過(guò)Horizon :: auth
注冊(cè)的簡(jiǎn)單回調(diào)控制儀表板的身份驗(yàn)證,從而使您可以完全控制對(duì)儀表板的訪問(wèn)。
配置
Horizon 是配置 Laravel 隊(duì)列的絕佳新方法。 與 Laravel 的調(diào)度程序類(lèi)似,所有隊(duì)列工作者都可以通過(guò)代碼配置:
在您的代碼中擁有此配置意味著這一切都在源代碼控制之下,從而使您的團(tuán)隊(duì)可以輕松地進(jìn)行協(xié)作。在config/horizon.php
文件中,我們配置要?jiǎng)?chuàng)建的進(jìn)程數(shù)量、需要處理的隊(duì)列、隊(duì)列超時(shí)時(shí)間以及需要傳遞給 queue:work
Artisan 命令的其他任何設(shè)置 。
然后,要啟動(dòng)所有的隊(duì)列工作者,只需要一個(gè)簡(jiǎn)單的命令:php artisan horizon
。 不需要其他命令行選項(xiàng)。 該命令將讀取 Horizon 配置并配置所有必需的工作進(jìn)程。
將 Horizon 安裝并部署到生產(chǎn)環(huán)境后,您可以通過(guò)修改配置文件并重新部署來(lái)修改整個(gè)隊(duì)列工作者的配置。
失敗的任務(wù)
Horizon 提供了清晰詳細(xì)的界面,用于檢查和重試失敗的任務(wù)(是的,我們都有)。 您可以查看該任務(wù)的異常堆棧跟蹤,標(biāo)簽和最近重試記錄。 將失敗的任務(wù)詳細(xì)信息直接在頁(yè)面上顯示真是太好了。 由于重試是鏈接到失敗的原始任務(wù),因此您不再需要盲目地嘗試在控制臺(tái)輸入queue:retry
并確定其重試是成功完成還是再次失?。?/p>
標(biāo)簽監(jiān)控
Horizon 允許您為任務(wù)分配標(biāo)簽,包括 Email
、Broadcasts
、Notifications
和Queued Listeners
。 實(shí)際上,Horizon 會(huì)根據(jù)附加到隊(duì)列的 Eloquent Model 智能地給大多數(shù)任務(wù)打上標(biāo)簽。
您可以通過(guò)這些標(biāo)簽輕松地搜索到隊(duì)列任務(wù),從而查看特定的客戶任務(wù)或者程序中的其他隊(duì)列任務(wù)。 此功能使您可以快速關(guān)注高價(jià)值客戶,或?yàn)閯偺峤恢С止蔚目蛻粽业绞〉娜蝿?wù):
平衡
Horizon 可以根據(jù)隊(duì)列的工作負(fù)載自動(dòng)平衡隊(duì)列中的隊(duì)列工作進(jìn)程。 例如,如果default
隊(duì)列為空,但notifications
隊(duì)列中充滿了隊(duì)列任務(wù),則 Horizon 可以自動(dòng)將notifications
的任務(wù)分配到default
隊(duì)列中,以幫助快速處理這些任務(wù)。
隊(duì)列趕上后,Horizon 將確保在所有隊(duì)列中公平地重新分配任務(wù)。
指標(biāo)圖表
Horizon 提供吞吐量和平均運(yùn)行時(shí)間圖表,使您可以查看單個(gè)任務(wù)或整個(gè)隊(duì)列的吞吐量和運(yùn)行時(shí)間趨勢(shì)。 這些指標(biāo)快照是使用horizon:snapshot
命令捕獲的,可以使用 Laravel 內(nèi)置的任務(wù)調(diào)度將其設(shè)置為每分鐘運(yùn)行一次。 這使您可以快速發(fā)現(xiàn)部署后的性能下降。
通知
當(dāng)您的某個(gè)隊(duì)列達(dá)到一定負(fù)荷時(shí),Horizon 會(huì)同時(shí)發(fā)送 Slack 和 SMS 通知。 您可以輕松配置等待時(shí)間閾值以確定何時(shí)發(fā)送通知。 這意味著您始終知道何時(shí)隊(duì)列需要
相關(guān)推薦
- 2025年國(guó)內(nèi)免費(fèi)AI工具推薦:文章生成與圖像創(chuàng)作全攻略
- AI時(shí)代,個(gè)人站長(zhǎng)如何用AI工具實(shí)現(xiàn)“一人公司”
- 個(gè)人站長(zhǎng)消亡論?從“消失”到“重生”的三大破局路徑
- raksmart法蘭克福云服務(wù)器延遲高嗎?
- 自媒體人搭建直播服務(wù)器使用raksmart優(yōu)化技巧
- 華納云高防服務(wù)器3.6折起低至1188元/月,企業(yè)級(jí)真實(shí)防御20G`T級(jí),自營(yíng)機(jī)房一手服務(wù)器資源
- 服務(wù)器的系統(tǒng)和普通電腦系統(tǒng)一樣嗎?
- RakSmart法蘭克福數(shù)據(jù)中心優(yōu)勢(shì)與適用場(chǎng)景