W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
手動注冊事件偵聽器時,可以將監(jiān)聽器的 Closure 閉包放在 Illuminate\Events\queueable
函數(shù)中,以指示 Laravel 使用 queue 執(zhí)行監(jiān)聽器:
use App\Events\PodcastProcessed;
use function Illuminate\Events\queueable;
use Illuminate\Support\Facades\Event;
/**
* 注冊應用的任何其他事件
*
* @return void
*/
public function boot()
{
Event::listen(queueable(function (PodcastProcessed $event) {
//
}));
}
像隊列任務一樣,你可以使用 onConnection
, onQueue
和 delay
方法來自定義隊列監(jiān)聽器的執(zhí)行:
Event::listen(queueable(function (PodcastProcessed $event) {
//
})->onConnection('redis')->onQueue('podcasts')->delay(now()->addSeconds(10)));
如果你想處理匿名隊列監(jiān)聽器失敗,則可以在 queueable
監(jiān)聽器后的 catch
方法中提供一個閉包來處理:
use App\Events\PodcastProcessed;
use function Illuminate\Events\queueable;
use Illuminate\Support\Facades\Event;
use Throwable;
Event::listen(queueable(function (PodcastProcessed $event) {
//
})->catch(function (PodcastProcessed $event, Throwable $e) {
// 監(jiān)聽失敗的隊列...
}));
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: