芹菜和拉比MQ生产商和消费者使用celeryrmq变得容易
celery-rmq的Python项目详细描述
芹菜rmq
实现了一个python代理和芹菜消息库。 它是一个独立的库,需要celery和kombu(用于rabbitmq的python库)。 芹菜和拉比MQ生产商和消费者使用芹菜rmq变得容易
快速入门
首先,安装rabbitmq并启动。在
创建一个python应用程序并创建一个虚拟环境。激活虚拟环境。在
1::安装:
pip install celery-rmq
2::基本用法:
**应用程序副本**在
^{pr2}$注册尽可能多的交换机、队列和消费者
3::消费者.py在
importkombufromceleryimportbootstepsfromcelery_rmq.registryimportget_queueclassBasicTestConsumer(bootsteps.ConsumerStep):defhandle_message(self,body,message):print(body)message.ack()defget_consumers(self,channel):queue=get_queue("test_queue","test_routing")return[kombu.Consumer(channel,queues=[queue],callbacks=[self.handle_message],accept=['json'])]
4::如果您想将此添加到任何框架中, 创建一个应用程序(例如:Djangoapps)并创建一个任务.py应用程序下的文件:
from__future__importabsolute_import,unicode_literalsfromceleryimportshared_taskfromtests.appimportapp_provider@shared_taskdefsimple_json_message(message,exchange_name,route_key):producer=app_provider.get_producer()producer.publish(message,content_type='application/json',exchange=exchange_name,routing_key=route_key)
并根据需要从视图调用simple_json_message
函数。在
5::运行芹菜工人:
celery worker -l info -A app
应用程序在这里应用程序副本文件
完成。
出于测试目的,我们希望直接从RabbitMQ web面板发送消息。转到队列部分并发布消息。在
在
在
- 项目
标签: