假设服务器时间是正确的,并且服务器也不会出现死机 等意外情况,那么如果给Celery添加10000个任务,这10000个任务并非在同一秒执行,而是分部在一天内,那么 这10000个任务都会按时执行吗。 会不会比设定的时间晚几秒,
如果任务数量是10w呢, 100w呢
请大家指点下下
谢谢
1
Catstyle 2015-03-06 00:12:01 +08:00
任务并发多于worker数基本都会排队
话说比设定时间有偏差--几秒的范围内--什么任务会不能忍受? |
2
binux 2015-03-06 00:32:22 +08:00
除非实时系统,没有什么保证程序能准时执行的。
|
3
cevincheung 2015-03-06 00:41:07 +08:00
多机呗
|
4
dongweiming 2015-03-06 11:25:11 +08:00 1
100w级别/天, 让消费能力高到不让队列里面有等待处理的任务还算容易.
但是误差在这里: 1. 你的beat默认间隔是2s. 2. worker loop去队列拿任务的间隔1~10.1s(一般是1-2s, 这个结果一般取决于你的任务执行的繁忙和失败重试的影响) so. 理论上最大的延迟可以达到12.1s 还是看你的系统的健康程度, 但是说实话.... |
6
9xrtp7r1 OP |
7
9xrtp7r1 OP @dongweiming 非常感谢您
|