当队列长度超过阈值时,Celery 是否有办法发出事件?我想使用该事件启动 EC2 实例。
在 Celery 中,我们有两个队列用于执行两个不同的任务。其中一个队列的任务需要在自动缩放组中启动一个实例。在处理一种任务的第一个自动缩放组中,我们始终有一个实例在运行。然后,使用 Amazon CloudWatch 可以轻松启动另一个实例。但是对于另一个自动缩放组,如果没有任务,我们不希望它有任何实例,因为很多时候这个组可能没有要执行的任务。因此,只有当此任务的 Celery 队列长度超过给定阈值时,我们才会在此自动缩放组中启动一个实例。有什么好方法可以做到这一点?
答案1
我建议用 cron 任务发布当前队列长度作为CloudWatch 自定义指标,它将允许您根据其值创建自动缩放警报。