Есть ли способ использовать длину очереди RabbitMQ, используемой Celery, для запуска экземпляра в группе автомасштабирования?

Есть ли у Celery способ генерировать события, когда длина очереди превышает пороговое значение? Я хочу использовать это событие для запуска экземпляра EC2.

У нас есть две очереди для двух разных задач в сельдерее. В одной из этих очередей есть задачи, которые потребуют запуска экземпляра в группе автомасштабирования. В первой группе автомасштабирования, которая обрабатывает один вид задач, у нас всегда работает один экземпляр. Затем легко запустить другой экземпляр с помощью Amazon CloudWatch. Но для другой группы автоматического масштабирования мы не хотим, чтобы у нее были какие-либо экземпляры, если нет задач, потому что много раз в этой группе не могло быть задач, которые нужно выполнить. Таким образом, только если длина очереди Celery для этой задачи превышает заданный порог, мы хотим запустить экземпляр в этой группе автоматического масштабирования. Что было бы хорошим способом сделать это?

1 ответ

Решение

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

Другие вопросы по тегам