版本
Laravel 8
config/queue.php
陣列中 failed
區塊,可以設定失敗任務的連結設定。
'failed' => [ 'driver' => env('QUEUE_FAILED_DRIVER', 'database'), 'database' => env('DB_CONNECTION', 'mysql'), 'table' => 'failed_jobs', ],
監聽任務時如果沒有指定任務失敗的次數,任務將會一直嘗試例請在 JOB handle
函數中增加以下程式碼
public function handle() { // 領取任務後的處理程式 }
當執行的時候,將會一直不斷的嘗試執行不會停止,如果指定 --tries
次數,任務會在執行指定的次數之後刪除任務並將任務放置到失敗的任務 failed_job 資料表中,等待確認問題點後,再讓 job 重新執行,確認沒問題後可以重新執行失敗 job 的指令如下,或者可以用 crontab 定時執行。
$ php artisan queue:retry all
這下好了,如果使用者收不到應該收到的信件或其他資訊怎麼辦,我們必續嘗試監聽失敗,在失敗時通知我們立即處理,有兩種方法。