使用任务队列来安排在App Engine(Python)中提取/解析许多提要

时间:2009-07-18 22:04:18

标签: python google-app-engine feeds

假设我有超过10,000个我希望定期提取/解析的Feed。 如果这段时间是1小时,那将是24x10000 = 240,000次提取。

实验室任务队列API的当前10k限制将排除一个 每次获取设置一个任务。怎么会这样做呢?

更新: RE:每个任务获取nurls - 假设某个时刻每个请求超时30秒,这将达到上限。是 无论如何要将它并行化,以便每个任务队列启动一堆异步并行提取,每个提取都需要不到30秒的时间才完成,但这一批可能需要更多时间。

3 个答案:

答案 0 :(得分:3)

这是异步urlfetch API:

http://code.google.com/appengine/docs/python/urlfetch/asynchronousrequests.html

在合理期限内设置一堆请求(在超时时给自己一些空间,这样如果一个请求超时,你仍然有时间处理其他请求)。然后依次等待每一个并在完成时进行处理。

我自己在GAE中没有使用过这种技术,所以你自己找到了任何非显而易见的问题。遗憾的是,API中似乎没有select()样式调用来等待几个请求中的第一个完成。

答案 1 :(得分:2)

每次任务2次? 3?

答案 2 :(得分:0)

对提取进行分组,因此,不是排队1提取,而是排队,例如,提取10次的工作单位。