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