workerman/crontab 分钟级别会在00重复执行

问题描述

我设置每45分钟执行一次,这里就会出现一个问题, 他在 45 执行以后 在整点 以后就再执行一遍
9:45 执行了
10:00 就会再执行一次
10:45 再执行

new Crontab('0 */45 * * * *')

这咋解决

229 2 0
2个回答

six

new Crontab('0 */45 * * * *')
改成
new Crontab('* */45 * * * *')

  • 暂无评论
wudx8

crontab的间隔时间,是在单位时间内计算的时间间隔。 不是绝对的时间间隔。
例如:
( */10 * * * * *) 不管你执行多少次, 一定是在每分钟的 00, 10、20、30、40、50 秒触发。
(1 */2 * * * *) 不管你执行多少次,都是在偶数分钟的第一秒执行。
和程序的启动时间无关。

如果你需要的是固定的间隔时长执行的话, 可以使用 Workerman\Timer

  • 暂无评论
🔝