芹菜和拉比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第三方库


热门话题
apache HttpClient execute(HttpUriRequest请求)和execute(HttpHost目标,HttpRequest请求)之间的java差异   如何向java进程传递多个密码   java servlet从外部事件调用网页中的javascript弹出/模式对话框   正在重置Unix Java路径变量   java将@Named managed bean注入另一个重用JSF页面?   java Cookie未显示在请求中   java如何记录用户的操作并在用户返回时重播?   java FTPSClient抛出异常javax。网ssl。SSLHandshakeException:握手期间远程主机关闭连接   java“变量可能尚未初始化”在何处使用开关盒进行初始化?   初始化Double java数组   java Android:如何通过按钮启动活动?   java设置外观和感觉颜色   计算两个时间戳对象之间的时间差的日期   扩展画布的类时,绘制方法出现java错误   java在不同的线程中运行JNI方法   java Spring引导OIDC刷新令牌场景   Java slf4j实现:logback vs log4j   java KeyEvents新的KeyEvent变量?   为什么java的模式和匹配器类中没有公共构造函数?   java在JVM上禁用本地JMX连接