RabbitMQ pika.exceptions.ConnectionClosed

2023-11-23

我尝试使用 RabbitMQ 发送消息和接收消息。我没有计算机科学背景,我使用的术语可能不是很准确。

我尝试复制教程文件: 当提交我的 html 表单时,我的 python 脚本 (cgi) 消息正在提交到队列

connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
        channel = connection.channel()
        channel.queue_declare(queue='task_queue', durable=True)
        message = PN
        channel.basic_publish(exchange='',
                              routing_key='task_queue',
                              body=message,
                              properties=pika.BasicProperties(
                                 delivery_mode = 2, # make message persistent
                              ))
        connection.close()

我的接收器正在运行:

connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='task_queue', durable=True)
print(' [*] Waiting for messages. To exit press CTRL+C')

def callback(ch, method, properties, body):
    print(" [x] Received Project %r" % body)
    #ch.basic_ack(delivery_tag = method.delivery_tag) 
    if not (os.path.isfile(js_path)):
        print (' [*] ERROR files missing ')
        #ch.basic_ack(delivery_tag = method.delivery_tag)
        return
    p= subprocess.Popen(run a subprocess here)
    p.wait()

    print (' [*] Temporary Files removed')
    print(" [*] Waiting for messages. To exit press CTRL+C")

channel.basic_qos(prefetch_count=1)
channel.basic_consume(callback,queue='task_queue',no_ack=True)
channel.start_consuming()

它可以管理大部分时间,但会随机崩溃并出现以下错误:

Traceback (most recent call last):
   File "Receive5.py", line 139, in <module>
    channel.start_consuming()   
   File "C:\Python27\lib\site-packages\pika\adapters\blocking_connection.py", line 1681, in start_consuming
    self.connection.process_data_events(time_limit=None)
   File "C:\Python27\lib\site-packages\pika\adapters\blocking_connection.py", line 647, in process_data_events
    self._flush_output(common_terminator)
   File "C:\Python27\lib\site-packages\pika\adapters\blocking_connection.py", line 426, in _flush_output
    raise exceptions.ConnectionClosed() pika.exceptions.ConnectionClosed

这是因为你让主线程处于等待状态,因此鼠兔无法处理传入的消息;在这种情况下,在子进程完成之前它无法响应心跳。这会导致 RabbitMQ 认为客户端已死亡并强制断开连接。

如果您希望它与心跳一起使用(推荐),您需要定期调用connection.process_data_events。这可以通过添加一个循环来检查线程是否完成并每 30 秒左右调用一次来完成process_data_events直到线程完成。

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

RabbitMQ pika.exceptions.ConnectionClosed 的相关文章

  • Django 中的 Rpy2 错误 - 未为“”类型的对象定义转换“py2rpy”

    我以前从未使用过 R 并且正在尝试使用 rpy2 从 python 调用 R 函数 它可以在独立的 python 终端上运行 但不能在 Django 中运行 但rpy2似乎无法将python字符串转换为r对象 我正在使用同事提供的自定义库
  • Python:使用 string.format() 将单词大写

    是否可以使用字符串格式将单词大写 例如 user did such and such format user foobar 应该返回 Foobar 做了这样那样的事情 请注意 我很清楚 capitalize 但是 这是我正在使用的代码 非常
  • 使用 OpenCV 和/或 Numpy 对两个图像进行 Alpha 混合 [重复]

    这个问题在这里已经有答案了 我想将一个填充纯色的半透明矩形添加到已加载的半透明 PNG 中 这是我正在使用的输入图像示例 该图像加载了标准cv2 IMREAD UNCHANGED标志 以便完美保留 alpha 通道 该输入图像存储在imag
  • Python 子进程(ffmpeg)仅在我按 Ctrl-C 程序时启动?

    我正在尝试使用 Cygwin 和 Python 2 7 并行运行一些 ffmpeg 命令 这大概是我所拥有的 import subprocess processes set commands ffmpeg i input mp4 outpu
  • 如何让python优雅地失败?

    我只是想知道如何让 python 在所有可能的错误中以用户定义的方式失败 例如 我正在编写一个处理 大 项目列表的程序 并且某些项目可能不符合我定义的格式 如果 python 检测到错误 它目前只会输出一条丑陋的错误消息并停止整个过程 但是
  • 正则表达式,选择最接近的匹配

    假设以下单词序列 BLA text text text text text text BLA text text text text LOOK text text text BLA text text BLA 我想做的是将 BLA 中的文本
  • 使用多级解决方案计算二维网格中的最近邻

    我有一个问题 在 x y 大小的网格中 我提供了一个点 并且我需要找到最近的邻居 在实践中 我试图在 pygame 中找到距离光标最近的点 该点跨越颜色距离阈值 计算如下 sqrt rgb1 0 rgb2 0 2 rgb1 1 rgb2 1
  • 将一维数组转换为下三角矩阵

    我想将一维数组转换为较低的零对角矩阵 同时保留所有数字 我知道numpy tril函数 但它用零替换了一些元素 我需要扩展矩阵以包含所有原始数字 例如 10 20 40 46 33 14 12 46 52 30 59 18 11 22 30
  • 张量流和线程

    下面是来自 Tensorflow 网站的简单 mnist 教程 即单层 softmax 我尝试通过多线程训练步骤对其进行扩展 from tensorflow examples tutorials mnist import input dat
  • scikit-learn 和tensorflow 有什么区别?可以一起使用它们吗?

    对于这个问题我无法得到满意的答案 据我了解 TensorFlow是一个数值计算库 经常用于深度学习应用 而Scikit learn是一个通用机器学习框架 但它们之间的确切区别是什么 TensorFlow 的目的和功能是什么 我可以一起使用它
  • Python——捕获异常的效率[重复]

    这个问题在这里已经有答案了 可能的重复 Python 常见问题解答 异常有多快 https stackoverflow com questions 8107695 python faq how fast are exceptions 我记得
  • 按多个键分组并对字典列表的值进行汇总/平均值

    在Python中按多个键进行分组并对字典列表进行汇总 平均值的最Pythonic方法是什么 假设我有一个字典列表 如下所示 input dept 001 sku foo transId uniqueId1 qty 100 dept 001
  • Jupyter Notebook 中的深色模式绘图 - Python

    我正在使用 Jupyter Notebook 目前正在使用 JupyterThemes 的深色日光主题 我注意到我的绘图不是处于黑暗模式 并且文本仍然是黑色并且在日光照射的背景上无法读取 JupyterThemes 的自述文件建议在 ipy
  • 具有多个主键的 SQLAlchemy 不会自动设置任何

    我有一个简单的表 class test Base tablename test id Column Integer primary key True title Column String def init self title self
  • 线性同余生成器 - 如何选择种子和统计检验

    我需要做一个线性同余生成器 它将成功通过所选的统计测试 我的问题是 如何正确选择发电机的数字以及 我应该选择哪些统计检验 我想 均匀性的卡方频率测试 每代收集10 000个号码的方法 将 0 1 细分为10个相等的细分 柯尔莫哥洛夫 斯米尔
  • 计算 pyspark df 列中子字符串列表的出现次数

    我想计算子字符串列表的出现次数 并根据 pyspark df 中包含长字符串的列创建一个列 Input ID History 1 USA UK IND DEN MAL SWE AUS 2 USA UK PAK NOR 3 NOR NZE 4
  • 在 matplotlib 中绘制多边形的并集[重复]

    这个问题在这里已经有答案了 我正在尝试绘制几个多边形的并集matplotlib 具有一定的 alpha 水平 我当前的代码在交叉点处颜色较深 有没有办法让交叉路口与其他地方的颜色相同 import matplotlib pyplot as
  • 在 scipy 中创建新的发行版

    我试图根据我拥有的一些数据创建一个分布 然后从该分布中随机抽取 这是我所拥有的 from scipy import stats import numpy def getDistribution data kernel stats gauss
  • 在父类中访问子类变量

    我有一个父类和一个继承的子类 我想知道如何访问我的父类中的子类变量 我尝试了这个但失败了 class Parent object def init self print x class Child Parent x 1 x Child Er
  • 在python中对列表列表执行行总和和列总和

    我想用python计算矩阵的行和和列和 但是 由于信息安全要求 我无法使用任何外部库 因此 为了创建矩阵 我使用了列表列表 如下所示 matrix 0 for x in range 5 for y in range 5 for pos in

随机推荐

  • InvalidOperationException:堆栈为空

    我的应用程序工作正常 但突然停止工作并给出以下错误 InvalidOperationException Stack empty System ThrowHelper ThrowInvalidOperationException Except
  • 使用 phantomjs 的 cntlm 代理

    我正在尝试在 Windows 计算机上使用 cntlm 代理来与 IIS 上使用 PhantomJS 的 Windows 身份验证的本地 Web 应用程序进行通信 要创建代理 我正在执行以下操作 cntlm v u username dom
  • django-为什么重定向后,表单显示“无”

    我有一个表单 输入信息后 根据信息过滤数据库并进行一些计算 最后将结果显示到重定向的网址 我确实可以重定向到另一个网址并成功显示结果 但问题在于它无法显示用户提交的任何数据 只是对每个字段不显示任何内容 并且结果不是基于过滤后的查询集 比如
  • 用opencv找到手绘线的端点

    我试图找到手绘线的两个端点 我写了这个找到轮廓的片段 但终点不正确 img cv2 imread my img jpeg img gray cv2 cvtColor img cv2 COLOR BGR2GRAY Binary Thresho
  • 限制可以在范围内运行的协程的最大数量

    我正在将当前的应用程序从 Java 翻译为 Kotlin 并且遇到了这个问题 java实现过去使用线程从服务器传输数据 它将创建大约 100 个不同的线程来请求数据 但据我所知 一次运行的线程不会超过 4 个 其他线程会等待线程完成后再开始
  • JQuery 或 JavaScript:如何确定在单击锚标记超链接时是否按下了 Shift 键?

    我有一个调用 JavaScript 函数的锚标记 无论有没有 JQuery 如何确定单击链接时是否按下了 Shift 键 以下代码不起作用 因为只有按下 真实键 而不是 Shift 键 时才会触发按键 我希望如果只按下 Shift 键它就会
  • Rails 嵌套表单错误,子项必须存在

    我正在遵循教程 http www amooma de screencasts 2015 01 22 nested forms rails 4 2 我正在使用 Rails 5 0 0 1 但是当我注册酒店时 似乎酒店类别必须存在 1 个错误导
  • Angular ngx-datatable 一列中的多个数据

    我在向 ngx datatable 中的列添加多个 prop 时遇到了一个小问题 columns prop semesterName name resizeable false prop eventName name resizeable
  • 自动启动AppFabric缓存集群

    有没有办法在系统启动时自动启动缓存集群 我在远程 PC 上运行它 当它重新启动时 我必须远程进入它并使用 Start CacheCluster 从 Powershell 重新启动缓存集群 并且不想这样做 Thanks James Yes i
  • 将自定义对象保存在共享首选项中

    我想保存自定义对象myObject在共同的偏好中 这个自定义对象的位置ArrayList
  • 错误页 - 如何在 JSP 中打印堆栈跟踪

    我已经使用 spring SimpleMappingExceptionResolver 在 Spring 应用程序中创建了异常处理 一切正常 现在我需要以某种方式打印 jsp 页面中捕获的异常 像消息和堆栈跟踪之类的东西 在我的 jsp 中
  • 使用一对多关系时,有没有办法控制子实体的顺序?

    根据https developer android com training data storage room relationships 我们可以有一对多的关系 public class UserWithPlaylists Embedd
  • 如何在 EditText 中设置文本

    如何设置 EditText 的文本 如果您检查文档EditText 你会发现一个setText 方法 它需要一个String and a TextView BufferType 例如 EditText editText EditText f
  • 在 python 中使用 setattr()

    我正在寻找有人解释如何使用的基础知识 而不是使用setattr 我的问题出现在尝试使用一个类方法 函数返回数据 然后将其放入另一个方法 函数中 在这种情况下 也许更简单的方法会更好 但我试图理解类是如何工作 使用的 这个问题似乎取决于set
  • 部分索引有哪些限制?

    最新版本的 MongoDB v3 2 添加了对部分 过滤 索引 您在创建索引时提供一个过滤器 该过滤器确定索引中将引用哪些文档 哪些不会 我可以使用任何过滤器表达式 只要它是有效的过滤器 吗 或者所使用的过滤器有限制吗 如果是这样 这些限制
  • Android 等宽空格 ( ) 宽度与字符宽度不同

    我正在开发一个小网络应用程序 我尝试使用绘图字符以某种 ASCII 艺术方式显示一些输出 然而 我注意到 Android 上的空间 nbsp 与其他字符的宽度不相等 导致输出难看 我把字体设置为monospace甚至尝试了monospace
  • 如何高效地为List的所有元素添加前缀?

    我有一个列表 我需要在列表的所有元素中添加前缀 下面是我通过迭代列表然后添加它来执行此操作的方法 还有其他更好的方法吗 有任何一二班轮可以做同样的事情吗 private static final List
  • CSS 拉伸背景图像

    我有一张大图像用作background image一个页面的 我想要的是图像的高度将被拉伸以填充页面的高度 也应该居中 background black url image background jpg no repeat fixed ce
  • VBScript:如何利用函数返回的字典对象?

    我正在尝试从函数返回字典 我相信该函数工作正常 但我不确定如何使用返回的字典 这是我的功能的相关部分 Function GetSomeStuff Get a recordset Dim stuff Set stuff CreateObjec
  • RabbitMQ pika.exceptions.ConnectionClosed

    我尝试使用 RabbitMQ 发送消息和接收消息 我没有计算机科学背景 我使用的术语可能不是很准确 我尝试复制教程文件 当提交我的 html 表单时 我的 python 脚本 cgi 消息正在提交到队列 connection pika Bl