Google app engine 如何使用GAE组织多个url获取调用?

Google app engine 如何使用GAE组织多个url获取调用?,google-app-engine,cron,urlfetch,Google App Engine,Cron,Urlfetch,我应该在一天中执行数千个URL获取调用。所有调用都是相同的,只是参数更改-way和date 目前,我使用多个cron条目来执行此类调用: - description: get data url: /admin/getdata?d=way1,way2,way3,way4,...,way12 schedule: every day 8:30 - description: get data url: /admin/getdata?d=way13,way14,way15,way16,...

我应该在一天中执行数千个URL获取调用。所有调用都是相同的,只是参数更改-
way
date

目前,我使用多个cron条目来执行此类调用:

- description: get data
  url: /admin/getdata?d=way1,way2,way3,way4,...,way12
  schedule: every day 8:30

- description: get data
  url: /admin/getdata?d=way13,way14,way15,way16,...,way24
  schedule: every day 8:40

...

- description: get data
  url: /admin/getdata?d=way99,way100,way101,way102,...,way123
  schedule: every day 9:20
然后在我的
getdata
处理程序中,我解析接收到的
d
参数,并执行多个
urlfetch
es:

for date_ in dates:
    for way in d:
        response = urlfetch.Fetch('http://example.com?way='+way+'&date='+date_, deadline=60, headers=headers, follow_redirects=True) 
但这对我没有多大帮助——仍然给cron作业60秒是不够的

我在考虑每十分钟运行一次cron作业,但我应该存储在可能的位置
way
s和
date
s,标记已执行的请求,然后重置它(以便第二天能够再次执行)


有没有更好的方法可以做到这一点?

更好的方法是每天只使用一个cron作业来获取所有URL。您所需要做的就是将此cron作业定位到后端实例,该实例没有时间限制


用于创建此类实例,并将“目标”设置添加到cron作业中。

或者,一个cron作业为所有其他URL生成taskqueued作业。这可以在默认模块中免费完成。我会设置一个
倒计时
参数,将它们隔开,以避免产生太多实例。还简化了app.yaml。

Andrei,谢谢。你是说免费的GAE应用程序吗?我在哪里可以读到它?我添加了模块API的链接。谢谢。但批处理在GAE文档中是什么意思?上面写着“一批中可以添加的最大任务数:100”。我能有100个任务吗?是的,你可以设置批次。这会限制它们的执行速度。如果将其设置为100,将同时运行100个任务。这几乎肯定会为你的应用程序产生一些新的实例,这将把你推出免费配额。但是,如果你不介意一个小的成本,它会工作得很好。最后,我选择了你的方法,因为当我尝试使用模块API时(正如@AndreiVolgin所建议的),给定的(免费应用程序内)实例小时数不足以完成我的任务。