任务调度 App\Console\Kernel::schedule 一分钟内触发多次,还会跳过一分钟不执行
1. 运行环境
laravel sail 8.2
1). 当前使用的 Laravel 版本?
laravel 10.x
//: <> (使用 php artisan --version
命令查看)
2). 当前使用的 php/php-fpm 版本?
PHP 版本:8.2
php-fpm 版本:8.2
3). 当前系统
ubuntu 22.04
//: <> (期待数值 Windows 10 / Ubuntu 20.4 / CentOS 8 )
4). 业务环境
5). 相关软件版本
2. 问题描述?
任务调度 App\Console\Kernel::schedule 一分钟内触发多次
代码截图
运行截图
日志截图
在 2024-07-10 14:31:01 时间点的时候,并未继续执行 app:sync-data-log 任务
3. 您期望得到的结果?
期望每分钟执行一次, 或者说,为什么会一分钟执行多次
//: <> (能截图就截图。)
你设置的不就是每10s执行一次吗
而且scheduler本身就带锁的配置,你还自己写
首先,想要的是每分钟执行哪个命令?
然后就是 app:sync-data-log 问题,你设置的是在后台每10秒执行一次,这没有问题,但是你在schedule里执行的,就会有问题。
有没有想过,每60秒一过后,app:sync-data-log 都会自动添加一次,然后多个 60 秒后,存在的 app:sync-data-log 就有多个了
越到后面那不是 app:sync-data-log 命令越多
秒级定时任务
$schedule->call(function () {
})->everyMinute()->name('xxxx')->withoutOverlapping();