我有一个在后端实例上运行的应用程序。它有 11 个任务。第一个由 /_ah/start 启动,然后它又启动另外十个工作任务。工作任务具有以下结构:
done = False
while not done:
do_important_stuff()
time.sleep (30)
if a_long_time_has_passed():
done = True
应用引擎上的执行行为每次都是一样的。调度任务运行并将 10 个工作任务排入队列。前七个工作任务开始运行并正确执行。最后三个坐在队列中,从不跑步。任务队列应用程序控制台显示队列中的所有十个任务,其中七个正在运行。
该应用程序还停止响应 HTTP 请求,返回 503 状态代码,日志未显示我的 http 处理程序正在被调用。
worker 任务队列配置最大速率为 1/s 和 2 个桶。奇怪的是,管理控制台显示强制速率为 0.1 秒。由于任务永远运行,它们不会返回不成功的完成状态代码。而且cpu负载可以忽略不计。工作人员主要进行 URL 获取,然后等待 30 秒再进行一次。
日志没有帮助。我不知道在哪里可以找到可以帮助我解决问题的诊断程序。我正在使用免费帐户进行测试。一次执行是否有 8 个任务的限制?我在文档中没有看到类似的内容,但我已经没有想法了。最终,我想并行运行更多任务。
谢谢你能给我的任何建议。