安排cron作业

时间:2014-10-27 14:20:53

标签: google-app-engine scheduling resource-scheduling

我想开发一个应用程序,用户可以在其上注册警报(多个),这样每当票价低于某个阈值时,他就会收到通知。票价是从第三方网站获取的。我想在谷歌应用引擎上进行此操作。

根据我的理解,我需要一个全天候运行的流程,以30分钟的间隔检查票价,并在达到阈值以下时发出通知。可能app-engine的cron工作可用于此任务吗?但是,可以安排最多100个cron的工作,这将是更好的方法。同时为每个用户设置一个流程会浪费资源,为了提高效率,还有哪些更好的调度算法?

1 个答案:

答案 0 :(得分:1)

您希望计划每30分钟运行一个cron并将项目抛出到任务队列中。然后,任务队列中的该单个项目将能够遍历所有用户,并生成任务以再次在后台获取您需要的任何内容。两件重要的事情:

  1. 您希望初始的cron调用尽快返回,因为网址的截止日期为60秒。
  2. 将任何工作拆分为单独的任务队列,以实现上述目标,并迭代数据源和/或用户。
  3. 根据您的解释,您可以使用推送任务队列:https://cloud.google.com/appengine/docs/python/taskqueue/overview-push