在我的Django项目中,我实现了Celery,它使用RabbitMQ后端运行。
芹菜的作用:
Celery
将我的任务放入队列中,然后在某些情况下运行它们。话虽如此,我基本上只使用 python 接口与消息队列进行交互RabbitMQ
Celery
。
问题:
我只想将简单的字符串消息推送到队列RabbitMQ
该队列中,该队列应由第三方应用程序使用。
我尝试过:
有一种方法可以使用Pika库直接连接到RabbitMQ
。但是我会发现它有点笨拙 - 如果我已经Celery
连接到RabbitMQ
,为什么不使用它(如果可能(将简单的消息发送到特定的队列,而是使用提到的Pika
库打开另一个连接。
任何见解都值得赞赏。
你不能使用 Celery 向 RabbitMQ 服务器发送任意消息。
但是,考虑到您已经使用 RabbitMQ 作为代理,这意味着您已经拥有所有必要的 RabbitMQ 支持(py-amqp 直接或通过 librabbitmq 支持它(,您可以轻松地从 Celery 任务向 MQ 服务器发送消息。如果您出于某种原因不喜欢py-amqp,则可以使用Pika,就像您已经提到的那样。