【发布时间】:2013-04-26 13:34:46
【问题描述】:
各位,
我有一个小问题,也许有人可以帮我弄清楚这里到底发生了什么:
我有数千个相同的任务应该在几毫秒内执行,并且在我重新启动工作人员后它们实际上会在几毫秒内执行,但是在记录了一堆这些任务之后,我从 celery 中得到一个大块,说它们是在更长的时间内完成(http://d.pr/n/66h).. 之后每个任务都需要大约 5-13 秒才能执行。 这让我计算出 celery 可以在大约一周的执行时间内完成所有任务。 (啊啊啊啊)
在工人重新启动后,大约 30-60 个任务可以正常速度执行。 之后,我每隔几秒就会得到一个结果——就像上面提到的那样,有点像 4-13 秒。 当然,在某些情况下,需要做的事情比其他情况多一点,但这并不能证明从 0.08 秒到 13 秒的差异是合理的!
我目前使用 redis 作为代理(很快将切换到 RabbitMQ),结果后端和任务本身将一些数据保存到 Solr 实例,但所有这些连接仍应在毫秒内完成!
我希望能够弄清楚究竟是什么延迟了所有这些任务。有人吗?
愉快 安迪
【问题讨论】: