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