Celery + RabbitMQ - 使用 Celery 进行简单的消息传递

Celery + RabbitMQ - Use Celery for simple messaging

在我的 Django 项目中,我实现了 Celery,运行 使用 RabbitMQ 后端。

芹菜的作用:

Celery 将我的任务放入队列,然后在特定条件下运行它们。也就是说,我基本上只使用 Celery python 接口与 RabbitMQ 消息队列交互。

问题:

我只想将简单的字符串消息推送到 RabbitMQ 队列,它应该由第 3 方应用程序使用。

我尝试了什么:

有一种方法可以使用 Pika library 直接连接到 RabbitMQ。但是我会发现它有点笨拙 - 如果我已经 Celery 连接到 RabbitMQ,为什么不使用它(如果可能)将简单消息发送到特定队列,而不是使用提到的 [打开另一个连接=17=]图书馆。

任何见解表示赞赏。

您不能使用 Celery 向您的 RabbitMQ 服务器发送任意消息。

但是,考虑到您已经使用 RabbitMQ 作为代理,这意味着您已经拥有所有必要的 RabbitMQ 支持 (py-amqp supports it either directly, or via librabbitmq),您可以轻松地从 Celery 任务向 MQ 服务器发送消息。如果您出于某种原因不喜欢 py-amqp,您可以使用您已经提到的 Pika。