国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

webmancrontab定時(shí)任務(wù)堆積問(wèn)題

timber

問(wèn)題描述

我舉例個(gè)場(chǎng)景,我起了一個(gè)5秒一次請(qǐng)求的定時(shí)任務(wù),任務(wù)中5秒后業(yè)務(wù)代碼還沒(méi)執(zhí)行完,這時(shí)候會(huì)不會(huì)出現(xiàn)沒(méi)有執(zhí)行完,就啟動(dòng)下次任務(wù),這樣子久而久之造成堆積呢?

為此你搜索到了哪些方案及不適用的原因

我自己的見(jiàn)解就是,在一次任務(wù)中,使用請(qǐng)求庫(kù)中的并發(fā)請(qǐng)求來(lái)調(diào)用接口通知

3071 3 4
3個(gè)回答

walkor 打賞

每個(gè)進(jìn)程都是順序處理的,不會(huì)并發(fā)執(zhí)行任務(wù)

  • timber 2023-08-08

    好的,感謝你的回答,也就是當(dāng)前定時(shí)任務(wù)未執(zhí)行完之前,這個(gè)任務(wù)是不會(huì)繼續(xù)執(zhí)行了?

  • walkor 2023-08-08

    對(duì)

MarkGo

我是類似場(chǎng)景,但用的是timer,如:

public function onworkerstart(){
  $this->task();
}

private function task(){
    curl_init();
    //.......
    curl_exec();
    Timer::add(5,function(){
        $this->task();
    },null,false);
}
  • timber 2023-08-08

    因?yàn)槲疫@邊遠(yuǎn)程調(diào)用有延遲,還要處理一堆通知業(yè)務(wù),可能預(yù)設(shè)的時(shí)間內(nèi)沒(méi)辦法完成,所以擔(dān)心在未完成之前,當(dāng)前的任務(wù)又開(kāi)始執(zhí)行了

  • MarkGo 2023-08-10

    我之前也是怕這樣,所以我是執(zhí)行完然後設(shè)置個(gè)一次性的執(zhí)行器,固定執(zhí)行完後x秒內(nèi)再次執(zhí)行

  • hzqghost 2024-07-04

    我不管是什么樣的定時(shí)系統(tǒng)都會(huì)加鎖

    文件鎖
    $lockFile = 'timer_every_day.lock';
    if (file_exists($lockFile)) {
    return; //exit;
    }
    file_put_contents($lockFile, getmypid());
    try {
    $argv = [__FILE__, 'everyDay/exec'];
    include(DIR . "index.php");
    } finally {
    unlink($lockFile);
    }

    網(wǎng)址請(qǐng)求鎖, curlGet, curlPut 為封裝的處理 curl 的請(qǐng)求參數(shù)與返回結(jié)果
    $lockUrl = 'https://xxxxx';
    if (curlGet($lockUrl )->isLock == true) {
    return; //exit;
    }
    curlPut($lockUrl, ['lock' => true] );
    try {
    curlGet('http://xxxx1');
    curlGet('http://xxxx2');
    curlGet('http://xxxx3');
    curlGet('http://xxxx4');
    } finally {
    curlPut($lockUrl, ['lock' => false] );
    }

釋永戰(zhàn)

????問(wèn)的很好的問(wèn)題

  • 暫無(wú)評(píng)論
年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??