crontab 执行是否独立问题

914739959

问题描述

如果我在task.php里新建了 10个 crontab任务,是否每个都是独立执行?如果单纯的顺序执行,是否可能会错过执行时间,漏掉执行?

比如我建两个定时任务 :
new Crontab('0 10 /1 ', function() ;
new Crontab('0 11 /1 ', function() ;

A任务是第10分第0秒执行,推送1000笔订单数据,
B是第11分第0秒执行,
假如A执行超过1分钟,到了11分0秒可能还在跑A任务,B任务会漏执行吗,
或者说我建10个在11分0秒执行的任务,他们会漏执行吗?

306 3 0
3个回答

Gin

不会漏 但会延迟
可以考虑 crontab中用http-client 或者队列 异步执行

  • 暂无评论
six

文档有说
https://www.workerman.net/doc/webman/components/crontab.html
没执行完的话又有新的任务会排队等待。不想排队就设置多个进程

  • 914739959 2024-08-20

    文档里说的是两个每秒执行的任务,这样无论什么时候触发,他们都是执行的,延迟触发也会执行,我举的案例是写死时间的,比如7分22秒执行,和7分23秒执行的2个crontab任务,22秒执行A任务,轮到B任务的时候可能不是7分23秒了,这样即使触发了B任务,也可能跳过

  • six 2024-08-20

    一样,试下就知道了

lcmg

是顺序执行的,会相互阻塞

  • 暂无评论
×
🔝