有没有办法确定一组Google App Engine任务(及其产生的子任务)何时完成全部?有没有办法知道一组应用程序引擎任务队列任务已完成?
假设我有100个任务要执行,其中10个产生了10个子任务。这是200个任务。我们还要说,这些子任务可能会产生更多的任务,递归等...
有没有一种方法来确定何时完成所有任务?我尝试过使用应用程序引擎管道API,但它看起来并不像我的特殊用例那样,即使它是一个很棒的API。
我的使用案例是,我想制作一大堆速率有限的URL获取调用,同时写入一个blob。在所有网址抓取调用结束时,我想完成blob。
我找到了使用管道API的解决方案,但是它向数据存储写了很多内容,以至于我无法经常需要运行管道,从而降低成本。
你已经看过Fantasm了吗?文章中有一个有趣的部分描述了fanning:http://code.google.com/appengine/articles/fantasm.html#in,并且您能预测提前产生的任务数量吗? – proppy 2012-01-27 01:10:47
嗨特普皮,谢谢你。我的例子是粉丝之一,你提到的fantasm文章谈论使用粉丝进行优化计数操作。这可能会派上用场,但我不知道我的特定用例事件的数量,所以我想这意味着我必须做某种递归计数。我希望有人能够让我远离这一点。 – 2012-01-27 04:32:37
您是如何确定管道API不符合成本效益的?数据存储的写入很便宜,特别是在不需要索引的情况下。 – 2012-01-27 04:47:22