有没有一种方法可以使用Celery使用的RabbitMQ队列的长度在自动调整组中启动实例?

当队列长度超过阈值时,Celery是否有办法发出事件? 我想用这个事件来启动一个EC2实例。

我们有两个排队在芹菜两个不同的任务。 其中一个队列的任务需要在自动调节组中启动一个实例。 在处理一种任务的第一个自动调度组中,我们总是有一个正在运行的实例。 使用Amazon CloudWatch启动另一个实例很容易。 但是对于另一个自动调整组,如果没有任务,我们不希望它有任何实例,因为很多时候可能没有这个组要执行的任务。 所以只有当这个任务的Celery队列的长度超过给定的阈值时,我们才想在这个自动调节组中启动一个实例。 什么将是一个很好的方法来做到这一点?

我build议使用cron作业将当前队列长度发布为CloudWatch自定义指标 ,这将允许您根据其值创build自动缩放警报。