GAE强制推送任务队列以执行下一个任务

时间:2012-07-24 13:51:37

标签: python google-app-engine task task-queue

我在GAE中以1 / s的速率推送任务队列。并非该队列上的每个任务都需要执行,但我只能在它被调用时进行验证。因此,每当调用任务时,我都有“if(condition)execute else drop”语句。

现在我的问题是我有太多的任务,其中很多都会被删除。我不想仅仅等待下一秒钟调用另一个任务,而是强迫我的队列调用下一个任务,这样就不会浪费第二个任务。

我想问的是 - 是否可以强制队列立即完成另一项任务而不是等待?或者我应该自己实施?

如果不清楚,我很抱歉,我会尝试用更好的词语。

提前致谢!

1 个答案:

答案 0 :(得分:2)

您需要使用pull tasks,每个推送任务队列也需要一个拉取任务。当你的推送任务执行从拉取队列中租用一批任务并检查它们的条件时 下一步将放弃所有不再“有效”的任务并执行单个有效任务。一旦执行有效任务,您将返回所有剩余任务(将其时间租给零)。

如果存在有效任务,此流程应至少为每个推送任务执行一项任务。