我正在使用EC2的spot instances从RabbitMQ队列中消费。每个任务需要几秒钟,并需要手动进行“ack”确认。
当实例终止时会出现问题。没有时间进行AMQP消费者的干净关闭,因此我还是会发现RabbitMQ服务器仍然认为已经死掉的消费者存在。它不会重新传递他们的作业,并且仍然将新作业路由到它们身上。
我该如何让RabbitMQ自动超时并从工作池中删除僵尸消费者呢?
当实例终止时会出现问题。没有时间进行AMQP消费者的干净关闭,因此我还是会发现RabbitMQ服务器仍然认为已经死掉的消费者存在。它不会重新传递他们的作业,并且仍然将新作业路由到它们身上。
我该如何让RabbitMQ自动超时并从工作池中删除僵尸消费者呢?