1

We're interested in using a push queue in GAE but one thing I can't find is the window for recovery in the event of queue or appengine downtime.

For example, I have a push queue with a number of tasks on it. Some of these tasks get pulled off and are executing. Let's say now the queue goes down (for whatever reason), while these tasks are executing, and then comes back up. What is the time window for the restoration of the queue? Is there a set time window of recovery?

There's the possibility of these tasks that were pulled off the queue and executing now reappearing on the queue and having them execute again due to the restoration time window.

We've got idempotence considerations in our code, but it would be good to know if there are time window recovery strategies for the GAE Queue downtimes.

4

1 回答 1

3

如果我正确理解您的问题,您担心队列可能会下降,因为特定 eta 范围的执行完成知识丢失,并且必须重新执行这些任务。

这不是 GAE 任务队列系统中的工作方式。我们逐个任务跟踪执行情况。(我们必须这样做,因为不需要按照严格的 eta 顺序分派任务。)在您所指的意义上,队列不会“下降”。

在当前系统下,单个任务可能会成功执行两次。当这种情况发生时(而且这种情况非常罕见),连续执行之间应该至少间隔一分钟。

没有您需要考虑的时间窗口恢复策略。

于 2012-10-29T00:55:28.027 回答