Laravel Horizon是什么以及作用是啥,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
目前成都創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、久治網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
Laravel Horizon
今天我得意的宣布 Laravel Horizon, 它為 Laravel redis 隊(duì)列提供了精美的儀表盤和代碼驅(qū)動(dòng)的配置系統(tǒng)。
除了全新的代碼驅(qū)動(dòng)配置系統(tǒng), Horizon 還有美麗的儀表盤 UI, 它完全開源,對(duì)整個(gè) Laravel 社區(qū)都是免費(fèi)的,我們明天發(fā)布測(cè)試版本,我希望你會(huì)喜歡它。
Horizon 儀表板是一個(gè)漂亮的單頁 Vue 應(yīng)用程序,可通過簡(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í)洞察。 通過Horizon :: auth
注冊(cè)的簡(jiǎn)單回調(diào)控制儀表板的身份驗(yàn)證,從而使您可以完全控制對(duì)儀表板的訪問。
Horizon 是配置 Laravel 隊(duì)列的絕佳新方法。 與 Laravel 的調(diào)度程序類似,所有隊(duì)列工作者都可以通過代碼配置:
在您的代碼中擁有此配置意味著這一切都在源代碼控制之下,從而使您的團(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)境后,您可以通過修改配置文件并重新部署來修改整個(gè)隊(duì)列工作者的配置。
Horizon 提供了清晰詳細(xì)的界面,用于檢查和重試失敗的任務(wù)(是的,我們都有)。 您可以查看該任務(wù)的異常堆棧跟蹤,標(biāo)簽和最近重試記錄。 將失敗的任務(wù)詳細(xì)信息直接在頁面上顯示真是太好了。 由于重試是鏈接到失敗的原始任務(wù),因此您不再需要盲目地嘗試在控制臺(tái)輸入queue:retry
并確定其重試是成功完成還是再次失?。?/p>
Horizon 允許您為任務(wù)分配標(biāo)簽,包括 Email
、Broadcasts
、Notifications
和Queued Listeners
。 實(shí)際上,Horizon 會(huì)根據(jù)附加到隊(duì)列的 Eloquent Model 智能地給大多數(shù)任務(wù)打上標(biāo)簽。
您可以通過這些標(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ù)。
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ì)列需要更多的處理進(jìn)程。 收到通知后,Horizon 的代碼驅(qū)動(dòng)配置使您可以快速進(jìn)行配置更改以增加更多處理進(jìn)程。
我要特別感謝Mohamed Said,David Hemphill和Steve Schoger,他們都為 Horizon 的設(shè)計(jì)和開發(fā)做出了貢獻(xiàn)。 Steve 設(shè)計(jì)了用戶界面,David Hemphill 將其作為 Vue 應(yīng)用程序?qū)崿F(xiàn)了接口,Mohamed 將前端連接到了我實(shí)現(xiàn)的 Horizon 后端。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。
當(dāng)前標(biāo)題:LaravelHorizon是什么以及作用是啥
網(wǎng)站URL:http://jinyejixie.com/article16/ipjogg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、網(wǎng)站內(nèi)鏈、品牌網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、定制開發(fā)、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)