推文和关注者使用Google App Engine获取应用

时间:2018-09-05 13:52:52

标签: python google-app-engine backend

我正在尝试使用Google App Engine在Python中构建一个应用,该应用先获取特定帐户的关注者,然后获取其推文。我将其基于this template,并对其进行更改以使其适应我的需求。

当前的问题是,当我尝试获取关注者时,由于Twitter API等待时间,我得到了DeadlineExceededError

我发现this帖子中介绍了如何解决相同的问题,我认为,就我而言,最好的解决方案是使用后端,但我注意到它们已被弃用。

有人知道不使用不推荐使用的模块怎么能达到相同的结果吗?

2 个答案:

答案 0 :(得分:2)

您有几个选项可用于长时间运行的任务:

  • Use GAE Task Queues:GAE提供了推和拉队列,使您可以在单个请求之外进行异步工作。
  • Use Cloud Pub/Sub:一种拉入队列,这使您的App Engine应用程序可以在每次您想要获取关注者或获取推文时发布一条消息。然后,订阅者将从队列中获取消息,执行长时间运行的任务,然后将结果放入某个数据存储中。
  • Use GAE Services:这将使您可以创建后台服务,并使manually scale it在需要时运行。

答案 1 :(得分:1)

已弃用后端(模块),以支持服务:

https://cloud.google.com/appengine/docs/flexible/python/an-overview-of-app-engine

对于您希望能够处理超过60秒的请求的服务,请将其设置为“手动缩放”。然后,一个请求最多可以运行24小时(或直到您将其关闭)。参见:

https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed#instance_scaling

当然,长时间运行的实例和请求可能会增加您的成本。