App Engine前端等待后端完成并返回数据 - 这是正确的方法吗?

时间:2016-09-25 08:28:18

标签: python angularjs google-app-engine

我使用了内置在angularjs中的前端和一个内置在python中的后端和appapp2中的webapp2。

后端调用第三方API,获取数据并返回前端。

来自后端的API请求最多可能需要30秒或更长时间。问题是前端在得到数据之前无法进一步发展。

我尝试使用不同的标签向后端运行3个同时请求,其中2个失败。我担心这似乎表明该应用程序一次只允许一个用户。

处理此问题的最佳方法是什么?我有一个想法是:

  • 使用task queues在后台运行对第三方的API调用
  • 创建一个新的处理程序,从队列中读取最后发送的任务,让前端定期轮询这个任务
  • 数据可用后更新前端

这是正确的方法吗?我确信这是一个在前端+后端世界中解决的问题,但我不知道该搜索什么。

谢谢!

1 个答案:

答案 0 :(得分:1)

来自前端的请求上限为30秒;之后他们在服务器端超时。这是GAE设计的一部分。来自任务队列的请求获得10分钟,因此您的想法是可行的。但是,您需要一些标识符用于轮询,而不是仅使用"最后发送的,"区分并发任务。