背景按顺序迭代和更新大型数据集的任务

时间:2013-04-25 18:28:03

标签: java google-app-engine

我需要以索引顺序迭代一个实体的大型数据集作为后台任务。 (实体数量约200,000 +)

我知道TaskQueue API以及可能的后台实例是可行的方法,但我偶尔会遇到DataStoreUnavailable和超时异常,我正在寻找的是在后台迭代和更新的可靠方法使用GAE API。

了解迭代的进度也非常有用。

我也知道实验性Java Map Reduce API,但在第一次看到我的时候,这似乎更像是一个并行处理API而不是有序。 (如果我错了,请纠正我。目前Java Map Reduce示例似乎很少而且很远)

是否有任何具体的例子或良好的模式来完成这类工作?

1 个答案:

答案 0 :(得分:1)

仅处理作业中的有限数量的实体。

照常开始查询,但如果作业请求有游标参数,则将其应用于查询。然后只获取固定数量的实体,而不是获取所有实体。

当作业完成,但还有更多要处理的实体时,检索当前查询光标,并使用游标作为请求参数再次安排同一作业。