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

請(qǐng)問(wèn)怎么定時(shí)每天9:00執(zhí)行指定任務(wù) ?

dignfei

請(qǐng)問(wèn)怎么定時(shí)每天9:00執(zhí)行指定任務(wù) ?

我需要每天9:00執(zhí)行一些操作,然后重啟worker子進(jìn)程

3984 2 0
2個(gè)回答

phpcreeper
$worker->onWorkerStart = function($worker)
{
    Timer::add(1, function(){
        if('09:00:00' == date('H:i:s'))
        {
           //這里寫(xiě)業(yè)務(wù)邏輯
           Worker::stopAll(); 
        }
    }, [], true);
};
  • dignfei 2020-03-31

    要是錯(cuò)過(guò)了09:00:00怎么辦,比如有任務(wù)阻塞了直到09:00:05才反應(yīng)過(guò)來(lái)?

  • phpcreeper 2020-03-31

    那就把阻塞的任務(wù)抽出來(lái)變成異步非阻塞的來(lái)搞

  • phpcreeper 2020-03-31

    另外你還可以使用crontab精準(zhǔn)控制定時(shí)器,然后在指定的時(shí)間發(fā)送事件到worker進(jìn)程(開(kāi)個(gè)業(yè)務(wù)端口)來(lái)處理。

  • pader 2020-04-02

    每秒做一次判斷,顯然消耗太大了,最小精確到分鐘即可。另外建議做法是計(jì)算出下個(gè)9點(diǎn)相差的秒數(shù),設(shè)一個(gè)這個(gè)秒數(shù)的定時(shí)器即可,幾乎無(wú)消耗。如果怕錯(cuò)過(guò)9點(diǎn),那肯定要通過(guò)一定的邏輯,保存要執(zhí)行的任務(wù)列表,或者使用延遲消息隊(duì)列。

  • 小陽(yáng)光 2020-04-02

    用Java的elastic_job
    用workerman的定時(shí)器,
    用系統(tǒng)的crontab,
    用環(huán)形隊(duì)列自己實(shí)現(xiàn),
    用redis的消息失效訂閱通知
    都可以實(shí)現(xiàn),看你的業(yè)務(wù),怕錯(cuò)過(guò)可以跑異步任務(wù)

q13113671764

像上面的代碼,可以定義個(gè)時(shí)間范圍,,然后在那個(gè)范圍查詢(xún)數(shù)據(jù)庫(kù)有沒(méi)有執(zhí)行記錄,沒(méi)有就執(zhí)行下去,然后添加執(zhí)行記錄,我就是一直這樣寫(xiě)的

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