如何增加RabbitMQ(Pika)的未确认重新交付时间?我们有一个长时间运行的任务,它花费的时间比默认的重新交付时间长,因此当它在处理完成后尝试确认时,它会导致unable to send ack错误。
unable to send ack
siv3szwd1#
我假设您遇到了通道确认超时问题,我们将在此处详细讨论-https://github.com/rabbitmq/rabbitmq-server/pull/2990#issuecomment-1002089576像您这样的长时间运行的任务应该将正在处理的消息发布到另一个表示正在进行的工作的队列(可能是每个工作线程的一个队列),然后确认原始消息。当工作完成时,使用并确认正在进行的队列中的消息,然后从原始队列重新使用。是的,这是更多的工作,但通道确认超时的引入是有很好的理由的。如果你知道你不会遇到所描述的问题,你 * 可以 * 增加RabbitMQ的配置超时。
**注意:**RabbitMQ团队监控rabbitmq-users邮件列表,仅在某些时候回答StackOverflow上的问题。
rabbitmq-users
1条答案
按热度按时间siv3szwd1#
我假设您遇到了通道确认超时问题,我们将在此处详细讨论-https://github.com/rabbitmq/rabbitmq-server/pull/2990#issuecomment-1002089576
像您这样的长时间运行的任务应该将正在处理的消息发布到另一个表示正在进行的工作的队列(可能是每个工作线程的一个队列),然后确认原始消息。当工作完成时,使用并确认正在进行的队列中的消息,然后从原始队列重新使用。
是的,这是更多的工作,但通道确认超时的引入是有很好的理由的。如果你知道你不会遇到所描述的问题,你 * 可以 * 增加RabbitMQ的配置超时。
**注意:**RabbitMQ团队监控
rabbitmq-users
邮件列表,仅在某些时候回答StackOverflow上的问题。