【问题标题】:Google App Engine - Task Queue taking too long to start random tasksGoogle App Engine - 任务队列启动随机任务的时间过长
【发布时间】:2016-06-29 03:43:17
【问题描述】:

我们的客户在使用我们的 appengine python 应用程序时遇到问题,该应用程序需要任务队列处理来生成报告并在完成后立即显示。直到最近,针对众所周知的 GAE 缓慢和超时的解决方法一直对我们有效。

上周,我们开始收到关于用户必须等待报告多长时间的投诉。以前最多一分钟,现在可能需要十多分钟。

此外,我无法重现该问题,但查看任务队列,我可以看到那些任务根本没有开始。

下面是其中一个队列的屏幕截图(不是生成报告的队列,但问题出现在所有队列中)。

http://www.clipular.com/c/4829223501430784.png?k=QaP2kedZm6NcvrKzwVSJqq2YI1g

我们可以看到没有任务在运行,但是队列中唯一的任务直到完成了 7 分钟的等待才开始。看看 ETA,它预测任务应该在过去开始。最终它消失了,但为什么不早点开始呢?

我已经排除的原因:

  • 没有足够的资源或实例:即使在午夜之后,当我们只收到几个请求时,它也会发生。
  • 错误的队列配置:并非如此,我们有各种各样的队列配置,而且都会发生这种情况。例如,最大速率=350/s,桶大小=400,最大并发=400。

【问题讨论】:

标签: python google-app-engine


【解决方案1】:

此问题停止发生,无需任何操作。显然,这是由于 GAE 服务器中的某种故障。问题持续了大约两周。

但是,可以将问题最小化的一个措施是尽可能将您的任务分散到单独的队列中。

--- 编辑---

又发生了。为了解决这个问题,我们唯一能做的就是编写一个脚本,如果发现延迟任务,它会不断要求运行它们。它通过 Tampermonkey 在 https://console.cloud.google.com/appengine/taskqueues 上运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 2011-01-08
    • 2015-03-10
    • 1970-01-01
    相关资源
    最近更新 更多