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