芹菜在哪里节省任务?

时间:2013-07-21 18:10:28

标签: rabbitmq celery

HY,

Celery(或RabbitMQ)在哪里保存预定的,非ack消息/任务?如果发生故障,他们会从哪里恢复? 据我所知,它将参数与代码一起保存。 如果参数是几MB,那么当有很多任务时这可能是一个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

Broker(RabbitMQ)负责处理邮件存储和传递,因此如果您的消费者使用待处理(未确认)消息失败,该消息将再次传递给其他消费者(如果有)。 RabbitMQ将实体存储在内存或磁盘上。

我没听懂你的意思

  

将参数与代码一起保存

您在谈论消息参数或队列/交换参数?

如果您的意思是消息参数,则它们与消息正文一起存储。

几MB的邮件大小就可以了。最好的消息大小取决于您的体系结构,例如,在某些情况下,消息大小应尽可能小,有些消息可能需要100MB,但过大的消息不是AMQP协议的设计目的。