google-app-engine – Google App Engine – 任务依赖

在我的应用程序中,我有一个很长的任务,所以我将它分成n个较小的任务.完成这n个任务后,将执行另一个任务,它取决于这n个任务的结果.如何使用Task API实现此依赖性?即在其他n个任务之后执行一个任务. 最佳答案 我认为有两种方法可以解决这个问题.

假设任务TD依赖于其他任务TA,并且存在队列Q.

>将n TA任务推入队列Q.当每个任务TA完成时,它检查自身是否是队列Q中的最后一个.如果TA是队列Q中的最后一个任务,则它将TD推送到队列Q.
>将n TA任务和TD推送到队列Q.当TD运行时,它检查所有TA任务是否完成.如果有任何TA未完成,TD将通过返回200-299范围之外的任何HTTP状态代码来取消其执行.

这些方法的关键是获取队列中的任务数量Q.虽然我还没有尝试,但我知道有一个Python API提供了一个实验方法来获取特定队列的TaskQueue资源. stats.totalTask​​s属性是队列中的队列总数.

请参阅http://code.google.com/intl/en/appengine/docs/python/taskqueue/rest.html

点赞