rabbitmq 使用线程与 pika

2024-01-10

我正在尝试使用rabbitmq 获得一个基本的队列系统,但是当我尝试使用线程时,它似乎只运行1 个线程。

my code:

import pika
import threading

rabbit_url = "amqp://user:[email protected] /cdn-cgi/l/email-protection:5672/%2f"

def start(max_threads):
    for i in xrange(max_threads):
        t = threading.Thread(target=run)
        t.start()
        t.join()

def run():
    connection = pika.BlockingConnection(pika.URLParameters(rabbit_url))
    channel = connection.channel()
    channel.basic_consume(callback,
                          queue='docketq',
                          no_ack=True)

    channel.start_consuming()

def callback(ch, method, properties, body):
    do_work(body)

def do_work(body):
    print body

t.join()等待线程完成。在循环的第一次迭代中start()您启动第一个线程,然后等待它完成,但它永远不会完成,因为channel.start_consuming()是一个等待传入消息的无限循环。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

rabbitmq 使用线程与 pika 的相关文章

随机推荐

  • CodeIgniter 2.x 会话和 Internet Explorer

    我在网上阅读了大量有关 CodeIgniter 及其会话和 Internet Explorer 问题的文章 其中很多内容似乎都以会话名称为中心 名称中没有下划线 这些文章似乎都是针对 CI 1 x 的 CI还存在这个问题吗 我尝试删除下划线
  • 英特尔伽利略裸机 UART

    我想编写一些 hello world 程序裸机申请于英特尔伽利略木板 当然 使用 UEFI 打印文本 到 UART 1 效果很好 但我想 手动 访问 UART 而不需要 UEFI 的任何帮助 在 QEMU 中我的代码运行良好 h file
  • 如何将 Spark 数据帧转换为 Polars 数据帧?

    我想知道如何将 Spark 数据帧转换为 Polars 数据帧 假设我在 PySpark 上有这段代码 df spark sql select from tmp 我可以使用以下命令轻松地将其转换为 pandas 数据框 toPandas 极
  • 使用ionic 4,尝试在应用程序使用硬件后退按钮按下事件关闭之前向用户发出退出警报消息

    在我的最初阶段 我试图给出 退出应用程序 是 否 当用户从登录页面或主页 登录后 按下硬件后退按钮时发出警报 我面临的问题是 当我按下后退按钮时 退出警报消息会出现在每个页面上 而不仅仅是在登录或主页上 此外 无论我是否按警报框中的 否 选
  • 如何删除除包含 TRUNCATE - INSERT 的行之外的所有行

    我创建了一个脚本 将所有 PL SQL 文件格式化为一个具有值对的简单文件 它很难解释 我认为如果您只查看该文件会更容易 PROCEDURE VALIDA CAMBIO GPR TRUNCATE TMP MOD PVA INSERT TMP
  • Cocos2d 2.0 - 左下角有 3 个数字

    我的 Cocos2D 2 0 项目屏幕左下角有 3 个数字 82 0 016 60 0 60 可能是 FPS 那么其他两个呢 我记得以前的 Cocos 版本只有 FPS 数字 有什么线索吗 谢谢 82 lt number of draw c
  • 将平面 Python 字典转换为字典列表

    我有一本以下格式的字典 我不知道我将收到的行数或项目数 line 0 item1 a line 0 item2 34 line 1 item1 sd line 1 item2 2 line 1 item3 fg line 2 item1 f
  • 带 twitter bootstrap 的全宽布局

    我正在尝试完成类似于此的布局 http dribbble com shots 829195 Slate attachments 86422 http dribbble com shots 829195 Slate attachments 8
  • BI 与 Django?

    有没有办法使用 Django 开发 Bi 商业智能 解决方案 因此 应该可以使用多个数据源来定义模型 有人用过 Django 体验过 BI 吗 怎么可能行得通呢 我不确定您对 BI 的定义是什么 也不知道为什么您认为 BI 解决方案需要多个
  • 来自具有可变帧速率的图像的视频

    我想从静止图像创建视频 但我没有使用静态 FPS 而是为每个图像都有一个特定的时间戳 图像在时间上的间隔并不完全均匀 我该怎么做呢 我当前的代码 具有静态 FPS 如下 import cv2 import os image folder U
  • 绘制超平面线性SVM python

    我正在尝试绘制使用 LinearSVC 和 sklearn 训练的模型的超平面 请注意 我正在使用自然语言 在拟合模型之前 我使用 CountVectorizer 和 TfidfTransformer 提取了特征 这里是分类器 from s
  • 限制每分钟、每个方法、每个 IP 对 WCF 服务的调用

    我想限制任何不同 IP 对 WCF 服务上特定方法的调用次数x按时间范围调用y 例如 如果 IP10 0 1 1调用方法register在某一分钟内超过 5 次 称之为分钟 x 当它尝试在那分钟内第六次调用该方法时 它会被阻塞 直到分钟 x
  • 如何检查内部服务是否已在运行相同的服务?

    我有一项被许多应用程序使用的服务 开发人员只需启动该服务即可完成其工作 如果 AppA AppB 和 AppC 启动服务 我会收到重复的服务 重复并没有那么糟糕 事实上应该有重复的服务 但是当且仅当没有重复的服务已经在做相同的工作时 服务才
  • 绘图未通过闪亮仪表板侧边栏上的输入进行渲染

    几天来我一直在开发一个应用程序shiny图书馆 现在我想用shinydashboard包裹 问题是 当我在侧边栏中设置输入时 我的绘图没有显示 渲染 在我希望显示的选项卡中 仅使用闪亮的包 我设置了以下代码 没有菜单侧边栏 如闪亮仪表板中所
  • html5验证表单标签

    标签元素的 for 属性必须引用表单控件 老实说 我不明白标记有什么问题 我浏览了很多 W3 的网站 但就是找不到 Help HTML
  • WebGL:异步操作?

    我想知道是否有任何可以利用的 WebGL 异步调用 我查看了 Spec v1 和 Spec v2 他们没有提及任何内容 在 V2 中 有一个 WebGL 查询机制 我认为这不是我正在寻找的 在网络上搜索并没有得到任何明确的信息 有这个例子
  • Angular 2 参数更改时重新加载路线

    我目前正在编写我的第一个 Angular 2 应用程序 我有一个概述组件 它具有以下简单模板 div class row div class col lg 8 div div
  • SpriteKit:即使设备上的帧率为 60 fps,运动也会不稳定

    我正在制作一个无限滚动游戏 并在其中生成精灵update 基于计数器的函数如下所示 void update spawnCar 1 if spawnCar gt 500 spawnCar 0 self spawnCar Inside spaw
  • @grant 指令并通过页面检测用户脚本

    我的问题有两个方面 首先 有人可以解释一下使用的优点和缺点是什么 grant none在坦普尔猴子 第二 哪个 grant我应该使用哪些值来防止网页检测到脚本 grant https www tampermonkey net documen
  • rabbitmq 使用线程与 pika

    我正在尝试使用rabbitmq 获得一个基本的队列系统 但是当我尝试使用线程时 它似乎只运行1 个线程 my code import pika import threading rabbit url amqp user email prot