2014-10-27 160 views
0

我想开发一个应用程序,用户可以在其上注册警报(多个),以便每当票价低于某个阈值时,他会收到通知。票价取自第三方网站。我想在谷歌应用程序引擎上执行此操作。计划cron作业

现在我明白了,我需要一个24/7全天候运行的流程,每隔30分钟检查一次票价,并在低于阈值时发出通知。应用引擎的cron工作可能可以用于此任务?但是最多可以安排100个cron工作,那么更好的方法是什么?对每个用户也有一个过程会浪费资源,那么更好的调度算法会提高效率呢?

回答

1

您想安排一个每30分钟运行一次的cron并将一个项目引发到任务队列中。任务队列中的单个项目然后将能够遍历所有用户,并生成任务以再次获取您在背景中需要的任何内容。两件重要的事情:

  1. 您希望初始cron调用尽快返回,因为URL有60秒的最后期限。
  2. 将任何工作分解到单独的任务队列中以实现上述目标,并遍历数据源和/或用户。

基于你解释,你可以使用推送任务队列的内容:https://cloud.google.com/appengine/docs/python/taskqueue/overview-push

+0

由cron调用的HTTP请求可以长达10分钟。但我同意这个策略;) – koma 2014-10-27 16:01:18