在GAE长期工作

时间:2012-04-20 19:03:19

标签: google-app-engine

我正在编写一个应用程序,可以在GAE上阅读来自twitter的消息。应用程序应始终读取消息并对其作出反应。 因为我正在测试一个想法,所以我不想使用后端,后端是这种需求的自然选择。 我正在使用每分钟运行的cron作业和通过运行长达50秒不断读取消息来处理作业的servlet。

  1. 我注意到GAE开放了3个实例来处理这个流量,那是不是很糟糕?
  2. 后端是这项工作的合适工具,对吗?
  3. 在没有后端的情况下有更好的方法吗?
  4. 谢谢。

2 个答案:

答案 0 :(得分:2)

  1. 实例的旋转由application settings控制。如果您的请求需要很长时间才能完成,那么它可能会触发新实例的启动 - 具体取决于所述设置。

  2. 使用任务队列可以非常有效地获取数据。你不需要后端。当您需要在请求之间将数据保存在内存中时,后端非常有用,可以有效地保存数据存储区请求。

  3. 如上所述 - 查看任务队列中的获取任务:数据获取任务需要多长时间?你经常需要他们表演吗?

答案 1 :(得分:1)

  

我注意到GAE最多可以打开3个实例来处理这个流量,这是不是很糟糕?

我不认为这很糟糕,因为感谢这3个实例,你的cron一直很好。

Cron执行可以延迟几秒钟,启动实例也可能需要一些额外的时间,除此之外,在50秒后,大概你的应用程序会运行一些代码,这也可能需要一些时间。

如果你有一些证据表明在调用特定的cron请求时前一个cron处于可用状态,那么请在此处分享。

  

后端是这项工作的合适工具,对吗?

绝对

  

在没有后端的情况下有更好的方法吗?

除非知道什么是“更好”,否则有点难以回答。目前的策略有问题吗?