Что подразумевается под «ведром-размером» очереди в двигателе App Google?
-
03-10-2019 - |
Вопрос
Google App Engine Очески задач иметь конфигурацию как (пример)
<queue>
<name>mail-queue</name>
<rate>5/m</rate>
<bucket-size>10</bucket-size>
</queue>
Здесь, что означает «размер ведра»? Я не смог найти всеобъемлющую документацию об этом в документации по документации Google App.
Соответствует этому как 10 означает, что если 100 задач в очереди в кратчайшие сроки только 10 из них будут помещены в очередь, и остальное будет игнорировать?
Решение
Размер ведра идеально описан здесь:
Ограничивает лопутицию обработки очереди, то есть более высокий размер ведра позволяет более крупные шипы в скорости выполнения очереди. Например, рассмотрим очередь со скоростью 5 / с и размер ведра 10. Если эта очередь неактивна в течение некоторого времени (позволяя его «ведро токена» заполнить), и 20 задач внезапно вдругут, что Разрешено выполнить 10 задач немедленно. Но в следующем вторых, только 5 дополнительных задач смогут выполнять, поскольку ведро токена было истощено и заправляется с указанной скоростью 5 / с.
Если для очереди не указано отсутствие Bucket_Size, значение по умолчанию составляет 5.
Для вашего случая это означает, что если 100 сообщений в порядке, только десять непосредственно выполняются и еще 5 каждую следующую минуту. Вы не потеряете никаких сообщений, но они покинут в очередь, если ваше ведро и скорость слишком низки.