Laravel 8 隊(duì)列閉包

2021-07-06 11:36 更新

除了將作業(yè)類(lèi)推送到隊(duì)列之外,你還可以推送閉包到隊(duì)列。這對(duì)于需要在當(dāng)前請(qǐng)求周期之外執(zhí)行簡(jiǎn)單快捷的任務(wù)時(shí)非常方便。在將閉包推送到隊(duì)列時(shí),閉包的代碼內(nèi)容是經(jīng)過(guò)加密簽名的,因?yàn)樵趥鬏斶^(guò)程中沒(méi)有辦法進(jìn)行修改:

$podcast = App\Podcast::find(1);

dispatch(function () use ($podcast) {
    $podcast->publish();
});  

當(dāng)隊(duì)列的閉包方法失敗重試次數(shù)達(dá)到上限后仍沒(méi)有成功運(yùn)行時(shí),會(huì)執(zhí)行 catch 方法中的閉包:

use Throwable;

dispatch(function () use ($podcast) {
    $podcast->publish();
})->catch(function (Throwable $e) {
    // 任務(wù)失敗了
}); 
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)