【发布时间】:2016-06-29 03:43:17
【问题描述】:
我们的客户在使用我们的 appengine python 应用程序时遇到问题,该应用程序需要任务队列处理来生成报告并在完成后立即显示。直到最近,针对众所周知的 GAE 缓慢和超时的解决方法一直对我们有效。
上周,我们开始收到关于用户必须等待报告多长时间的投诉。以前最多一分钟,现在可能需要十多分钟。
此外,我无法重现该问题,但查看任务队列,我可以看到那些任务根本没有开始。
下面是其中一个队列的屏幕截图(不是生成报告的队列,但问题出现在所有队列中)。
http://www.clipular.com/c/4829223501430784.png?k=QaP2kedZm6NcvrKzwVSJqq2YI1g
我们可以看到没有任务在运行,但是队列中唯一的任务直到完成了 7 分钟的等待才开始。看看 ETA,它预测任务应该在过去开始。最终它消失了,但为什么不早点开始呢?
我已经排除的原因:
- 没有足够的资源或实例:即使在午夜之后,当我们只收到几个请求时,它也会发生。
- 错误的队列配置:并非如此,我们有各种各样的队列配置,而且都会发生这种情况。例如,最大速率=350/s,桶大小=400,最大并发=400。
【问题讨论】:
-
我遇到了类似的问题,但我的任务通常需要不到一分钟的时间来执行。不过还是很烦人。