我用rabbitmq开发了一个连接应用程序,它工作正常,但是当我停止rabbitmq进程时,我所有的请求都丢失了,即使在杀死rabitmq服务后,我也想保存请求,并在重新启动rabitmq服务后,所有请求都返回到自己的地方。 这是我的rabitmq.py:
then(onFulfilled, onRejected) {
return super.then(res => onFulfilled(res, this.ADDITIONAL_DATA), onRejected);
// or `this.promise.then` instead of `super.then`
}
此外,对于我在问题中写错信息感到抱歉。
答案 0 :(得分:2)
您需要启用发布者确认(通过channel
对象上的confirm_delivery
方法)。然后,您的应用程序必须跟踪哪些消息已确认为已发布,哪些消息尚未确认为已发布。您将必须自己实现。 RabbitMQ停止并再次启动后,您的应用程序可以重新发布未确认的消息。
最好使用异步发布者示例作为指南。如果您使用BlockingConnection
,则在确认消息后,您将不会收到异步通知,从而无法达到目的。
如果您尝试自己实施此操作后需要进一步的帮助,建议您继续关注pika-python
邮件列表。
注意: RabbitMQ团队监视the rabbitmq-users
mailing list,并且有时仅在StackOverflow上回答问题。