Existe uma maneira de usar o comprimento de uma fila RabbitMQ usada pelo Celery para iniciar a instância em um grupo de escala automática?

2

Existe alguma maneira de o Celery emitir eventos quando o comprimento de uma fila excede um limite? Eu quero usar esse evento para iniciar uma instância do EC2.

Temos duas filas para duas tarefas diferentes no Aipo. Uma dessas filas possui tarefas que exigirão que uma instância seja iniciada no grupo de escalonamento automático. No primeiro grupo de escalonamento automático que lida com um tipo de tarefa, sempre temos uma instância em execução. É então fácil iniciar outra instância usando o Amazon CloudWatch. Mas, para o outro grupo de escalonamento automático, não queremos que ele tenha instâncias se não houver tarefas, porque muitas vezes pode não haver tarefas a serem executadas por esse grupo. Portanto, somente se o comprimento da fila do Celery para essa tarefa ultrapassar um determinado limite, queremos iniciar uma instância nesse grupo de escalonamento automático. Qual seria uma boa maneira de fazer isso?

    
por web_ninja 17.07.2015 / 16:20

1 resposta

5

Eu sugeriria uma tarefa do cron para publicar o tamanho da fila atual como uma métrica personalizada do CloudWatch , que permitirá criar alarmes de escalonamento automático com base em seu valor.

    
por 17.07.2015 / 16:34