3

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

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

我想问的是 - 是否可以强制队列立即获得另一个任务而不是等待?还是我应该自己实施?

如果不清楚,对不起,我会尽量用更好的词来表达。

提前致谢!

4

1 回答 1

2

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

如果存在有效任务,则此流程应为每个推送任务授予至少一个任务。

于 2012-07-24T14:08:21.740 回答