有没有办法让 Celery/RabbitMQ 持久化?
这样,如果我的服务器崩溃了,我仍然可以完成任务吗?
So that if my server crashes, I still have my Tasks?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
这样,如果我的服务器崩溃了,我仍然可以完成任务吗?
So that if my server crashes, I still have my Tasks?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
RabbitMQ 可以是持久化的,Celery 默认发送持久化消息,因此您无需执行任何操作即可启用此功能。
RabbitMQ can be persistent, and Celery sends persistent messages by default, so you don't have to do anything to enable this.
默认情况下,rabbitmq 会持久化这些消息,
如果消息未被消费者确认,rabbitmq 不会删除消息,celery 就是这样做的。
当worker崩溃并再次重新启动时,他们将收到上次崩溃前未确认的消息。
rabbitmq persist those messages by default
rabbitmq wont delete messages if they are not acknowledged by consumers,so that's how celery does.
when worker crashed and restarted again,they will receive the messages that not acknowledged last time before crashed.