如何判断一组应用引擎任务是否全部完成?

时间:2012-01-22 20:04:11

标签: google-app-engine task-queue

如果我有一个循环,排队说100个任务,并且每个任务中的每个任务都可能排队任务,我怎么知道所有任务是否已完成?

我使用ShardedCounters考虑过这个问题。一旦每个任务完成,我可以增加一个计数器然后检查是否count == 100.当然,除非我进入这个递归计数场景,否则任务会产生自己的任务。我不确定这个兔子洞是不是一个好主意,因为看起来分片计数器不是原子的。

2 个答案:

答案 0 :(得分:1)

您应该查看新的AppEngine pipeline API。这是一种将昂贵任务链接在一起并将其完成时通知的方法。还有一个很棒的video from the Google IO conference来证明它。

答案 1 :(得分:0)

根据具体情况,您可以使用REST API测试当前是否有任何任务(匹配某些模式或具有特定ID /等):

http://code.google.com/appengine/docs/python/taskqueue/rest.html#method_taskqueue_tasks_list