芹菜和拉比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面板发送消息。转到队列部分并发布消息。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android studio在应用程序中自动添加错误权限   java如何转换“javafx”。场景形象Image@1a3d58b'到正常的文件路径   java这个程序的流程是什么?请启发我的知识   javafx中按钮的java切换组   void方法中使用的void方法的数组组成?(爪哇)   jsp重定向到Liferay Portlet中的Java Servlet   java在创建反转arraylist的方法时遇到问题   使类(包装映射)在Java的forloop中可用   java将TextInputLayout或任何UI组件从活动传递到DialogFragment   java在启动SpringBootApplication时捕获异常   java如何实现像playstore应用程序那样的向下滚动隐藏操作栏?   java如何获得pom文件的完全解析模型?   在Java中将字节数组转换为字符串并返回后得到错误的结果   java数学解析器令牌结构   java是默认的Hibernate(5.2.5)会话级缓存终止性能?