【发布时间】:2020-03-31 08:07:45
【问题描述】:
我正在尝试向我的 Django 应用程序添加一些实时功能,因为我在我的 django 项目中使用 RabbitMQ 和 Celery,所以我想做的是:我有一个外部 Python 脚本将数据发送到 RabbitMQ > 从 RabbitMQ 它应该从 Django 应用程序中检索。
我正在发送一些布偶数据,如下所示:
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='Test')
channel.basic_publish(exchange='',
routing_key='Test',
body='Hello world!')
print(" [x] Sent 'Hello World!'")
connection.close()
我想做的是:一旦我发送Hello World!,我的 Django 应用程序应该会收到该字符串,以便我可以使用它执行一些操作,例如将其保存在我的数据库中,将其传递给HTML 模板或简单地将其打印到我的控制台。
我的实际问题是我仍然不知道该怎么做。我将 Celery 添加到我的 Django 项目中,但我不知道如何连接到 RabbitMQ 并接收消息。我必须用 Django 频道来做吗?有这方面的教程吗?我找到了各种关于在 Django 中使用 RabbitMQ 和 Celery 的材料,但没有关于这个特定问题。
【问题讨论】: