Сбой очереди задач Google App Engine (GAE) и окно времени восстановления

Мы заинтересованы в использовании push-очереди в GAE, но я не могу найти окно для восстановления в случае простоя очереди или приложения.

Например, у меня есть очередь push с несколькими задачами. Некоторые из этих задач снимаются и выполняются. Допустим, теперь очередь опускается (по какой-либо причине), пока эти задачи выполняются, а затем снова поднимается. Каково временное окно для восстановления очереди? Есть ли установленное временное окно восстановления?

Существует вероятность того, что эти задачи, которые были удалены из очереди и выполняются сейчас, снова появляются в очереди и снова выполняются из-за временного окна восстановления.

В нашем коде есть соображения идемпотентности, но было бы неплохо узнать, существуют ли стратегии восстановления временного окна для времени простоя очереди GAE.


person Numbat    schedule 28.10.2012    source источник
comment
Что значит: очередь опускается? Как можно сократить очередь? Администратор может приостановить очередь. Задача может завершиться неудачей, и она будет перезапущена в зависимости от вашей конфигурации и свободных экземпляров.   -  person voscausa    schedule 29.10.2012


Ответы (1)


Если я правильно понимаю ваш вопрос, вы беспокоитесь о том, что очереди могут сократиться в том смысле, что информация о завершении выполнения будет потеряна для определенного диапазона eta, и эти задачи должны быть выполнены повторно.

Это не то, как все работает в системе очереди задач GAE. Мы отслеживаем выполнение задачи за задачей. (Мы должны, потому что задачи не нужно отправлять в строгом порядке.) Очередь не «опускается» в том смысле, о котором вы говорите.

Отдельная задача может быть успешно выполнена дважды в текущей системе. Когда такое случается (а бывает очень редко), между последовательными выполнениями должно быть не меньше минуты.

Не существует стратегии восстановления временного окна, которую вам нужно учитывать.

person Nick Verne    schedule 29.10.2012
comment
Спасибо, это отвечает на мой вопрос - минимум одна минута между последовательными выполнениями - это то, что мне нужно было знать (и, как вы сказали, это очень редкий случай). - person Numbat; 29.10.2012