W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
有時,你可能希望指定某個任務(wù)可嘗試很多次,但如果重試次數(shù)超過了給定數(shù)量,觸發(fā)了異常,則該任務(wù)應(yīng)該失敗。為了實現(xiàn)這一點,你可以在你的任務(wù)類中定義一個 maxExceptions
屬性:
<?php
namespace App\Jobs;
class ProcessPodcast implements ShouldQueue
{
/**
* 任務(wù)可嘗試的次數(shù)
*
* @var int
*/
public $tries = 25;
/**
* 任務(wù)失敗前允許的最大異常數(shù)
*
* @var int
*/
public $maxExceptions = 3;
/**
* 執(zhí)行任務(wù)
*
* @return void
*/
public function handle()
{
Redis::throttle('key')->allow(10)->every(60)->then(function () {
// 獲得鎖,處理podcast...
}, function () {
// 無法獲得鎖...
return $this->release(10);
});
}
}
在此示例中,如果應(yīng)用程序無法獲得 Redis 鎖,則任務(wù)將釋放十秒鐘,并將繼續(xù)重試 25 次。但是,如果任務(wù)拋出三個未處理的異常,則該任務(wù)將失敗。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: