Что означает «размер корзины» очереди в движке приложения Google? - PullRequest
21 голосов
/ 18 сентября 2010

Движок приложений Google очереди задач имеют конфигурацию как (пример)

  <queue>
    <name>mail-queue</name>
    <rate>5/m</rate>
    <bucket-size>10</bucket-size>
  </queue>

Здесь, что означает «размер корзины»?Я не смог найти исчерпывающую документацию по этому вопросу в документации по движку приложений Google.

Указывает ли это как 10 означает, что если 100 задач ставятся в очередь, только 10 из них будут поставлены в очередь, а остальные будутигнорируется?

1 Ответ

32 голосов
/ 18 сентября 2010

размер сегмента прекрасно описан здесь :

Ограничивает пакетную обработку очереди, т. Е. Больший размер сегмента допускает большие скачки в скорости выполнения очереди.Например, рассмотрим очередь со скоростью 5 / с и размером сегмента 10. Если эта очередь в течение некоторого времени была неактивна (позволяя заполнить ее «область маркеров»), и 20 задач внезапно были поставлены в очередь, она будетиметь возможность выполнять 10 задач немедленно.Но в следующую секунду только 5 задач смогут быть выполнены, потому что корзина токенов исчерпана и выполняется с заданной скоростью 5 / с.

Если для очереди не указано значение bucket_size,значение по умолчанию - 5.

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

...