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

webman,定時(shí)任務(wù),奇怪現(xiàn)象

evilk

1.
config/app.php

return [
    'debug' => true,
    'default_timezone' => 'Asia/Shanghai',
];

2.
process/test.php(每天早上10點(diǎn) 和 11點(diǎn),這樣是可以準(zhǔn)時(shí)執(zhí)行的,查看對(duì)應(yīng)的日志,有內(nèi)容輸出)

public function onWorkerStart(Worker $worker)
{
        $workerId = $worker->id;

        new Crontab('0 0 10,11 * * *', function () use ($workerId) {
            echo date('Y-m-d H:i:s') . PHP_EOL;
        });
}

3.
但如果把定時(shí)任務(wù)換成如下(每天凌晨1點(diǎn) 和 每天凌晨4點(diǎn))
定時(shí)任務(wù)就不會(huì)執(zhí)行

public function onWorkerStart(Worker $worker)
{
        $workerId = $worker->id;

        new Crontab('0 0 1,4 * * *', function () use ($workerId) {
            echo date('Y-m-d H:i:s') . PHP_EOL;
        });
}

4.

  • 昨天下午下班后,任務(wù)時(shí)間設(shè)置為 0 0 1,4 * * *,啟動(dòng)服務(wù),今天早上發(fā)現(xiàn)沒(méi)有對(duì)應(yīng)的日志輸出
  • 然后,調(diào)整定時(shí)任務(wù)執(zhí)行時(shí)間為 0 0 10,11 * * *,然后 restart 服務(wù)
  • 早上10點(diǎn) 和 早上11點(diǎn),分別有對(duì)應(yīng)的日志輸出
  • 連續(xù)兩天,都是這樣測(cè)試的
  • 百思不得其解
2567 2 0
2個(gè)回答

yzh52521
 0 10,11 * * *

這是10點(diǎn)11點(diǎn)

 0 1,4 * * *

這是 1點(diǎn)4點(diǎn)

  • Tinywan 2022-04-08

    O(∩_∩)O哈哈~

  • evilk 2022-04-08

    下班之前,定時(shí)任務(wù),設(shè)置為 0 0 1,4 * * *,啟動(dòng)服務(wù),早上來(lái)公司,發(fā)現(xiàn)沒(méi)有日志輸出
    然后,再調(diào)整為0 10,11 * * *,早上10點(diǎn) 和 早上11點(diǎn),有日志輸出
    這就有問(wèn)題了啊
    為啥凌晨的任務(wù)沒(méi)有執(zhí)行呢

  • iqige 2022-04-08

    0 0 1,4 * 這個(gè)不是凌晨1點(diǎn)和4點(diǎn),看上面

  • evilk 2022-04-09

    請(qǐng)問(wèn)大佬
    為什么設(shè)置為 new Crontab('0 1,4 * * *',在凌晨1點(diǎn) 和 凌晨4點(diǎn),依然沒(méi)有執(zhí)行呢?

  • czf 2022-04-09

    定時(shí)任務(wù)的執(zhí)行規(guī)則,在分鐘級(jí)的定義時(shí),與 Linux 的 crontab 命令的規(guī)則一致,在秒級(jí)的定義時(shí),規(guī)則長(zhǎng)度從 5 位變成 6 位,在規(guī)則的前面增加了對(duì)應(yīng)秒級(jí)的節(jié)點(diǎn),也就是 5 位時(shí)以分鐘級(jí)規(guī)則執(zhí)行,6 位時(shí)以秒級(jí)規(guī)則執(zhí)行,如 /5 則代表每 5 秒執(zhí)行一次。注意在注解定義時(shí),規(guī)則存在 \ 符號(hào)時(shí),需要進(jìn)行轉(zhuǎn)義處理,即填寫 \/5

evilk

為什么設(shè)置為 new Crontab('0 1,4 * * *',在凌晨1點(diǎn) 和 凌晨4點(diǎn),依然沒(méi)有執(zhí)行呢?

  • Tinywan 2022-04-09

    先學(xué)習(xí)一下crontab表達(dá)式:https://www.runoob.com/linux/linux-comm-crontab.html

  • evilk 2022-04-09

    看了一下,這個(gè)表達(dá)式是沒(méi)問(wèn)題的,只是沒(méi)數(shù)據(jù),所以沒(méi)有日志輸出,謝謝大佬

  • Tinywan 2022-04-09

    你日志輸出是寫入日志文件,還是在終端輸出的

  • evilk 2022-04-09

    寫入日志的,是這樣的

    Db::table(CustomerModel::$table)
                        ->where(CustomersEntity::TBC_star_balance, '>', 0)
                        ->select([CustomersEntity::TBC_id, CustomersEntity::TBC_level_id])
                        ->chunkById(10000, function ($customers) {
                            /**
                             * 通過(guò)隊(duì)列處理,啟動(dòng)多個(gè)消費(fèi)者,提高處理速度
                             */
                            Client::send((new CheckCustomerLevelConsumer())->queue, json_encode(['customers' => $customers]));
                        });

    因?yàn)闆](méi)有符合條件的結(jié)果,所以永遠(yuǎn)不會(huì)走到回調(diào)函數(shù)內(nèi),所以不會(huì)發(fā)送數(shù)據(jù)到隊(duì)列里
    我在隊(duì)列里,把接收到的數(shù)據(jù),寫入日志

  • Tinywan 2022-04-09

    你最好是移除掉你的業(yè)務(wù)邏輯,直接使用系統(tǒng)自帶日志系統(tǒng)Log(Log::info('xxxxxxxxxxxx')),嘗試記錄日志。先排查是不是定時(shí)任務(wù)插件的問(wèn)題。繼而排查業(yè)務(wù)問(wèn)題。(初步判斷是你業(yè)務(wù)和隊(duì)列有問(wèn)題)

  • evilk 2022-04-09

    是的
    就打算這樣排查
    謝謝大佬

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??