首页 文章

Google App Engine - 任务队列耗时太长,无法启动随机任务

提问于
浏览
5

我们的客户在我们的appengine python应用程序中遇到问题,需要任务队列处理来生成报告并在完成后立即显示 . 对着名的GAE缓慢和超时的解决方法直到最近才对我们有效 .

上周,我们开始抱怨用户需要等待报告的时间 . 过去最多只需要一分钟,但现在可能需要10分钟以上 .

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

Bellow是其中一个队列的屏幕截图(不是生成报告的队列,但问题发生在所有队列中) .

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

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

我已经排除的理由:

  • 没有足够的资源或实例:即使在午夜之后,当我们收到一些请求时,它也会发生 .

  • 错误的队列配置:不是这样,我们有各种各样的队列配置,它发生在所有 . 例如,最大速率= 350 / s,存储桶大小= 400,最大并发= 400 .

1 回答

  • 0

    此问题在没有任何操作的情况下停止发生显然,这是由于GAE服务器出现某种故障 . 这个问题持续了大约两个星期 .

    但是,可以将问题最小化的一个操作是将任务分散到不同的队列中(如果可能) .

    ---编辑---

    又在发生了 . 我们唯一能解决问题的方法就是编写一个脚本,如果找到它们,它会不断要求运行后期任务 . 它通过tampermonkey在https://console.cloud.google.com/appengine/taskqueues上运行 .

相关问题