Laravel - 隊列學(xué)習(xí)一

使用場景:處理一些耗時或者高并發(fā)的操作周荐,把操作放到隊列中異步執(zhí)行城丧,可以有效緩解系統(tǒng)壓力宛篇、提高系 統(tǒng)響應(yīng)速度和負(fù)載能力。常見的場景有群發(fā)郵件或秒殺等等跌捆。Laravel支持多種隊列實現(xiàn)的驅(qū)動徽职,本文主要以Redis進(jìn)行說明。

一佩厚、安裝Redis驅(qū)動

修改composer.json文件姆钉,如下:

"require": {

? ? ? ? ?"php":">=5.6.4",

? ? ? ? ?"laravel/framework":"5.4.*",

? ? ? ? ?"laravel/tinker":"~1.0",

? ? ? ? ?"predis/predis":"1.0.*",

? ? ? ? ?"dingo/api":"1.0.*@dev",

},

執(zhí)行composer update即可完成安裝

二、配置Redis的連接

修改.env文件抄瓦,如下:

REDIS_HOST=127.0.0.1

REDIS_PASSWORD=1234qwer

REDIS_PORT=6379

三潮瓶、修改默認(rèn)的隊列驅(qū)動

修改.env文件,如下:

QUEUE_DRIVER=redis

四钙姊、編寫任務(wù)類

php artisan make:job QueueDemo

五筋讨、其他

最大失敗次數(shù)設(shè)置,在任務(wù)類增加屬性:

public ?$tries=5;

超時設(shè)置摸恍,在任務(wù)類增加屬性【隊列任務(wù)最大運(yùn)行時長(秒)】:

public ?$timeout=120;

timeout 與 retry_after的區(qū)別查看地址

六、分發(fā)任務(wù)

分發(fā)任務(wù)到指定的 連接與隊列

dispatch(new DemoQueue('李四'))->onConnection('redis')->onQueue('exam');

分發(fā)任務(wù)到指定的隊列

dispatch(new DemoQueue('李四'))->onQueue('exam');

七赤屋、運(yùn)行隊列監(jiān)聽器

指定 連接&隊列

php artisan queue:work redis --queue=exam

注意:隊列進(jìn)程開始運(yùn)行后立镶,會持續(xù)監(jiān)聽隊列,直至你手動停止或關(guān)閉終端类早;為了保持隊列進(jìn)程queue:work持續(xù)在后臺運(yùn)行媚媒,需要使用進(jìn)程守護(hù)程序,比如Supervisor來確保隊列進(jìn)程持續(xù)運(yùn)行涩僻。隊列進(jìn)程是長生命周期的進(jìn)程缭召,會在啟動后駐留內(nèi)存。若應(yīng)用有任何改動將不會影響到已經(jīng)啟動的進(jìn)程逆日。所以請在發(fā)布程序后嵌巷,重啟隊列進(jìn)程。

八室抽、其他

進(jìn)行休眠時間

當(dāng)任務(wù)在隊列中有效時搪哪,進(jìn)程會持續(xù)處理任務(wù),沒有延遲坪圾。不過晓折,我們可以使用sleep配置項來指定沒有新的有效任務(wù)產(chǎn)生時的休眠時間:

php artisan queue:work –sleep=3

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市兽泄,隨后出現(xiàn)的幾起案子漓概,更是在濱河造成了極大的恐慌,老刑警劉巖病梢,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胃珍,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)堂鲜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門栈雳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缔莲,你說我怎么就攤上這事哥纫。” “怎么了痴奏?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵该默,是天一觀的道長。 經(jīng)常有香客問我纷捞,道長纸镊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任檐晕,我火速辦了婚禮暑诸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘辟灰。我一直安慰自己个榕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布芥喇。 她就那樣靜靜地躺著西采,像睡著了一般。 火紅的嫁衣襯著肌膚如雪继控。 梳的紋絲不亂的頭發(fā)上械馆,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天,我揣著相機(jī)與錄音武通,去河邊找鬼霹崎。 笑死,一個胖子當(dāng)著我的面吹牛冶忱,可吹牛的內(nèi)容都是我干的仿畸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼朗和,長吁一口氣:“原來是場噩夢啊……” “哼错沽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起眶拉,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤千埃,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后忆植,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體放可,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谒臼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了耀里。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜈缤。...
    茶點(diǎn)故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖冯挎,靈堂內(nèi)的尸體忽然破棺而出底哥,到底是詐尸還是另有隱情,我是刑警寧澤房官,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布趾徽,位于F島的核電站,受9級特大地震影響翰守,放射性物質(zhì)發(fā)生泄漏孵奶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一蜡峰、第九天 我趴在偏房一處隱蔽的房頂上張望了袁。 院中可真熱鬧,春花似錦湿颅、人聲如沸载绿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至臀脏,卻和暖如春劝堪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背揉稚。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工秒啦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人搀玖。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓余境,卻偏偏與公主長得像,于是被迫代替她去往敵國和親灌诅。 傳聞我的和親對象是個殘疾皇子芳来,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 隊列 簡介 laravel 的隊列服務(wù)對各種不同的后臺隊列服務(wù)提供了統(tǒng)一的 API。隊列允許你延遲執(zhí)行消耗時間的任...
    Dearmadman閱讀 20,741評論 7 26
  • 原文鏈接 必備品 文檔:Documentation API:API Reference 視頻:Laracasts ...
    layjoy閱讀 8,607評論 0 121
  • 先說幾句廢話猜拾,調(diào)和氣氛即舌。事情的起由來自客戶需求頻繁變更,偉大的師傅決定橫刀立馬的改革使用新的框架(created ...
    wsdadan閱讀 3,053評論 0 12
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理挎袜,服務(wù)發(fā)現(xiàn)顽聂,斷路器肥惭,智...
    卡卡羅2017閱讀 134,652評論 18 139
  • 這幾天耀石,上海彩虹室內(nèi)合唱團(tuán)之《感覺身體被掏空》做到刷屏了牵囤,引來無數(shù)的轉(zhuǎn)發(fā)和貼熱,而且包括文案創(chuàng)意著稱的“杜蕾斯”公...
    本宮準(zhǔn)了閱讀 340評論 0 0