第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

LARAVEL:重新排隊(duì)是一個(gè)壞主意嗎?

LARAVEL:重新排隊(duì)是一個(gè)壞主意嗎?

PHP
ITMISS 2022-08-19 16:06:42
我想知道重新排隊(duì)一個(gè)laravel工作是否是一個(gè)壞主意。我有一個(gè)場(chǎng)景,一旦用戶(hù)將Facebook帳戶(hù)集成到我的應(yīng)用程序中,我就需要從Facebook上拉出用戶(hù)的帖子。我想提取{x}天歷史數(shù)據(jù)。Facebook api 像任何其他 api 一樣,每分鐘有 api 請(qǐng)求的限制。我跟蹤請(qǐng)求標(biāo)頭,一旦達(dá)到速率限制,我就將這些信息保存在數(shù)據(jù)庫(kù)中,對(duì)于每個(gè)重新排隊(duì),我檢查我是否有資格調(diào)用Facebook api這是代碼片段,用于更好的可視化<?phpnamespace App\Jobs;class FacebookData implements ShouldQueue{    /**     * The number of seconds the job can run before timing out.     *     * @var int     */    public $timeout = 120;    public $userid;    public function __construct($id)    {       $this->userid=$id;    }     public function handle()     {        if($fbhelper->canPullData())        {          $res=$fbhelper->getData($user->id);          if($res['code']==429)           {           $fbhelper->storeRetryAfter($res);           self::dispatch($user->id);           }        }     }}上面的片段是一個(gè)粗略的想法。這是個(gè)好主意嗎?我發(fā)布這個(gè)問(wèn)題的原因是看起來(lái)像一個(gè)遞歸,它會(huì)嘗試直到返回true.這可能需要6分鐘.我擔(dān)心在我的應(yīng)用程序中會(huì)發(fā)生任何影響。提前致謝self::dispatch($user->id);$fbhelper->canPullData()
查看完整描述

1 回答

?
開(kāi)滿(mǎn)天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊

重試作業(yè)不是一個(gè)壞主意,它只是內(nèi)置于作業(yè)設(shè)計(jì)中。Laravel對(duì)此事進(jìn)行了重試,即工作可以執(zhí)行不可靠的操作。


作為我一直在處理的項(xiàng)目中的一個(gè)例子,我們正在使用的外部API每發(fā)送100個(gè)請(qǐng)求就有1-5個(gè)http 500個(gè)錯(cuò)誤。這是由 的內(nèi)置重試功能處理的。Laravel


從5.4開(kāi)始,您可以在類(lèi)中設(shè)置它。這將完全按照您的要求執(zhí)行操作,而無(wú)需定義邏輯。最后,為了達(dá)到重試限制,您可以定義一個(gè)名為retryAfter()的函數(shù),該函數(shù)指定何時(shí)應(yīng)重試作業(yè)。Laravel


class FacebookData {

    public $tries = 5;


    public function retryAfter() {

        //wait 6 minutes

        return 360;

    }

}

如果你想保持你的邏輯,你只重試429錯(cuò)誤,我會(huì)使用相反的方法來(lái)刪除作業(yè),如果它不是429。


if ($res['code'] !== 429) {

    $this->delete();

}


查看完整回答
反對(duì) 回復(fù) 2022-08-19
  • 1 回答
  • 0 關(guān)注
  • 119 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)