芹菜和拉比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如何使用bouncycastle从pkcs7文件获取证书?   java是向字符串数字添加零的有效方法吗?   Android在外部播放器中播放视频url   如何在Java代码中调用Wildfly事务管理器?   java为什么在使用键盘完成选择时不触发选择事件?   java xpath错误:jaxb外部绑定文件上为null   java如何避免在活动之间切换时出现白屏   Hadoop安装程序中的java“unknown.prolexic.com:未知错误”   要用作out参数的java自定义数字类   java如何向spring控制器的http请求添加属性?   for循环中的java静态值   java为图像编辑器快速、可靠地保存/加载文档状态   java数组越界和空指针异常   java如何在列表<Object>对象包含对象的对象上检查null?   java从URL下载文件到tomcat服务器   GlassFish“ogs3.1.2.2windows.exe”和“ogs3.1.2.2windowsml.exe”文件之间的java差异   无MathLab的Java Gabor图像处理   包含CSV中不存在的其他字段的java mongoimport