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

crontab定時任務組件,秒級任務會重復執(zhí)行

september

bug描述

定時任務組件,1s執(zhí)行一次的任務經(jīng)常會重復執(zhí)行

程序代碼

        new \Workerman\Crontab\Crontab('*/1 * * * * *', function () {
            $time = time();
            $timeLock = "task_lock:" . $time;
            if (Redis::exists($timeLock)) {
                echo "當前秒存在任務";
                return;
            }
            Redis::set($timeLock, 1);
            echo date('Y-m-d H:i:s') . PHP_EOL;
        });

期待的結(jié)果及實際結(jié)果

這里是輸出
2023-02-17 09:38:00
當前秒存在任務2023-02-17 09:38:01
當前秒存在任務2023-02-17 09:38:02
當前秒存在任務2023-02-17 09:38:03
當前秒存在任務2023-02-17 09:38:04
當前秒存在任務2023-02-17 09:38:05
當前秒存在任務2023-02-17 09:38:06
當前秒存在任務2023-02-17 09:38:07
當前秒存在任務2023-02-17 09:38:08
當前秒存在任務2023-02-17 09:38:09
當前秒存在任務2023-02-17 09:38:10
當前秒存在任務2023-02-17 09:38:11
當前秒存在任務2023-02-17 09:38:12
當前秒存在任務2023-02-17 09:38:13
當前秒存在任務2023-02-17 09:38:14
當前秒存在任務2023-02-17 09:38:15
當前秒存在任務2023-02-17 09:38:16
當前秒存在任務2023-02-17 09:38:17

系統(tǒng)環(huán)境及workerman/webman等具體版本

mac和linux出現(xiàn)了,workerman/crontab版本v1.0.4

2622 3 0
3個回答

admin

是不是因為多進程的關系 被并發(fā)執(zhí)行了

  • september 2023-02-17

    webman框架下調(diào)用的定時任務組件,基本都是默認配置

  • september 2023-02-17

    是偶爾出現(xiàn),不是一直出現(xiàn)

walkor 打賞

如果你開了2個進程,每個進程定時執(zhí)行一次可能會出現(xiàn)這種情況

  • september 2023-02-17

    老大好,配置項是webman默認的配置,這個在哪里看呢

  • walkor 2023-02-17

    webman進程數(shù)在 config/server.php 里用count設置。
    自定義進程在config/process.php里用count參數(shù)設置。

  • september 2023-02-17

    process.php設置是這樣的,沒有設置count<?php
    /**

    use Workerman\Worker;

    return [
    // File update detection and automatic reload
    'monitor' => [
    'handler' => process\Monitor::class,
    'reloadable' => false,
    'constructor' => [
    // Monitor these directories
    'monitor_dir' => array_merge([
    app_path(),
    config_path(),
    base_path() . '/process',
    base_path() . '/support',
    base_path() . '/resource',
    base_path() . '/.env',
    ], glob(base_path() . '/plugin//app'), glob(base_path() . '/plugin//config'), glob(base_path() . '/plugin/*/api')),
    // Files with these suffixes will be monitored
    'monitor_extensions' => [
    'php', 'html', 'htm', 'env'
    ],
    'options' => [
    'enable_file_monitor' => !Worker::$daemonize && DIRECTORY_SEPARATOR === '/',
    'enable_memory_monitor' => DIRECTORY_SEPARATOR === '/',
    ]
    ]
    ],
    'task' => [
    'handler' => process\Task::class
    ],
    ];

yzh52521

如果一個進程 你加redis 就是毫無意義 ,本來就是 一秒執(zhí)行一次

  • september 2023-02-17

    執(zhí)行了兩次,所以我加鎖了...

  • yzh52521 2023-02-17

    執(zhí)行兩次說明2個進程唄

  • yzh52521 2023-02-17

    設置 count =1

  • september 2023-02-17

    我試試

  • september 2023-02-17

    process.php 里設置了 'task' => [
    'handler' => process\Task::class,
    'count' => 1
    ],還是有重復執(zhí)行的

  • walkor 2023-02-17

    定時器放在哪里執(zhí)行的。把process.php里'task'進程配置刪除,看下是否還有地方執(zhí)行定時器

  • september 2023-02-17

    定時器只配置在process.php中執(zhí)行,刪除后沒有再執(zhí)行過了

  • september 2023-02-17

    已發(fā)送

  • walkor 2023-02-17

    你的workerman/crontab不是最新的,升級 workerman/crontab 升級到 v1.0.6

    composer workerman/crontab ^1.0.6
  • september 2023-02-17

    我試試

年代過于久遠,無法發(fā)表回答
??