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