W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
需要把事件處理程序放到 隊(duì)列 嗎?這不能變得再更簡(jiǎn)單了。當(dāng)你產(chǎn)生處理程序,簡(jiǎn)單地使用 --queued 旗標(biāo):
php artisan handler:event SendPurchaseConfirmation --event=PodcastWasPurchased --queued
這將會(huì)產(chǎn)生一個(gè)實(shí)現(xiàn)了 Illuminate\Contracts\Queue\ShouldBeQueued 接口的處理程序類。這樣就可以了!現(xiàn)在當(dāng)這個(gè)處理程序因?yàn)槭录l(fā)生被調(diào)用,它將會(huì)被事件配送器自動(dòng)地排進(jìn)隊(duì)列。
當(dāng)處理程序被隊(duì)列執(zhí)行,如果沒有異常被丟出,在執(zhí)行后該隊(duì)列中的任務(wù)將會(huì)自動(dòng)被刪除。你也可以手動(dòng)取用隊(duì)列中的任務(wù)的 delete 和 release 方法。隊(duì)列處理程序默認(rèn)會(huì)引入的 Illuminate\Queue\InteractsWithQueue trait,讓你可以取用這些方法:
public function handle(PodcastWasPurchased $event)
{
if (true)
{
$this->release(30);
}
}
如果你想要把一個(gè)已存在的處理程序轉(zhuǎn)換成一個(gè)隊(duì)列的處理程序,簡(jiǎn)單地手動(dòng)添加 ShouldBeQueued 接口到類。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: