W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
事情往往不會如你預(yù)期的一樣,有時候你推送工作到隊列會失敗,別擔(dān)心,Laravel 包含一個簡單的方法去指定一個工作最多可以被執(zhí)行幾次,在工作被執(zhí)行到一定的次數(shù)時,他將會添加至 failed_jobs
數(shù)據(jù)表里,然后失敗工作的數(shù)據(jù)表名稱可以在 config/queue.php
里進行設(shè)置:
要產(chǎn)生一個遷移來建立 failed_jobs
數(shù)據(jù)表,你可以使用queue:failed-table Artisan
命令:
php artisan queue:failed-table
你可以指定一個最大值來限制一個工作應(yīng)該最多被執(zhí)行幾次,在你執(zhí)行 queue:listen
時加上 --tries
:
php artisan queue:listen connection-name --tries=3
假如你會想注冊一個事件,這個事件會將會在隊列失敗時被調(diào)用,你可以使用 Queue::failing
方法,這個事件是一個很好的機會讓你可以通知你的團隊通過 e-mail
或 HipChat
。
Queue::failing(function($connection, $job, $data)
{
//
});
你可能夠直接在隊列工作類別中定義一個 failed
方法,這讓你能夠在工作失敗時候,執(zhí)行一些特定的動作:
public function failed()
{
// 當(dāng)工作失敗的時候會被調(diào)用……
}
要看到所有失敗的工作,你可以使用 queue:failed
命令:
php artisan queue:failed
這個 queue:failed
命令將會列出工作 ID、連接、隊列名稱及失敗的時間,可以使用工作 ID 重新執(zhí)行一個失敗的工作,例如一個已經(jīng)失敗的工作的 ID 是 5,我們可以使用下面的命令:
php artisan queue:retry 5
假如你想刪除一個失敗的工作,可以使用 queue:forget
命令:
php artisan queue:forget 5
要刪除全部失敗的工作,可以使用 queue:flush
命令:
php artisan queue:flush
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: