如果我有一个循环,排队说100个任务,并且每个任务中的每个任务都可能排队任务,我怎么知道所有任务是否已完成?
我使用ShardedCounters考虑过这个问题。一旦每个任务完成,我可以增加一个计数器然后检查是否count == 100.当然,除非我进入这个递归计数场景,否则任务会产生自己的任务。我不确定这个兔子洞是不是一个好主意,因为看起来分片计数器不是原子的。
答案 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