保持鼠兔 BlockingConnection 存活而不禁用心跳

2024-03-19

我正在使用 pika 0.10.0 和 python 2.7 版本开发 RabbitMQ 消费者。在我的消费者客户端中,我有一个根据输入消息运行一段时间的进程。时间可能从 3 到 40 分钟不等。 我不想禁用心跳。相反,我正在寻找一些回滚机制,该机制可以使连接保持活动状态,直到发送回delivery_tag。那可能吗?

我得到的链接很少,所有链接都建议禁用心跳作为解决方法。但我不想禁用它。

Ref:

套接字错误:104 使用耗时较长的任务消耗消息 #753 https://github.com/pika/pika/issues/753

BlockingConnection 意外关闭 #734 https://github.com/pika/pika/issues/734

另外,如果需要任何额外信息,请告诉我。 提前致谢。


唯一的解决办法是定期发送心跳帧。

当使用BlockingConnection,你必须调用process_data_events https://pika.readthedocs.io/en/0.11.0/modules/adapters/blocking.html#pika.adapters.blocking_connection.BlockingConnection.process_data_events功能足够频繁(atime_limit零就可以了)。当使用SelectConnection或其他异步适配器,您必须确保没有任何进程被阻塞,以便可以发送帧。

如果您的任务运行时间较长,并且由于某种原因无法轻松中断或拆分进程,则可以在另一个线程/进程中运行该任务,并且仍然让鼠兔从主线程发送帧。请记住,您应该避免跨线程使用 pika 连接(pika 目前不是线程安全的)。

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

保持鼠兔 BlockingConnection 存活而不禁用心跳 的相关文章

  • Ansible 列表未排序

    我有一个正在循环的列表 问题是它给出了一个奇怪的顺序 param yml 文件 my list a val1 b val2 c val3 d val3 这是我的简单调试循环 name debug debug msg item loop my
  • 为什么python+sqlite3特别慢?

    我尝试使用 Python 2 7 4 sqlite3 和 Firefox SQLite Manager 0 8 0 处理对同一数据库的相同请求 在小型数据库 8000 条记录 上 Python 和 Firefox 都运行得很快并且给出了相同
  • 在 CSV 文件的最上面一行写入

    我有这个sample csv 文件 a 1 apple b 2 banana c 3 cranberry d 4 durian e 5 eggplant 并有以下代码 samplefile open sample csv rb rows s
  • Django Python - LDAP 身份验证

    我目前正在研究 Django Python 我的目标是从 Ldap 目录对用户进行身份验证 我确实有 python 代码来访问 ldap 目录并检索信息 Code import ldap try l ldap open ldap forum
  • NoneType 类型的对象没有 len

    def medianeven L while len L gt 2 L L 1 len L 1 return average L def medianodd L while len L gt 1 L L 1 len L 1 return L
  • 如何在欧洲使用 Cloud Dataflow 区域终端节点?

    是否可以将 Google Cloud Platform Dataflow 作业的区域更改为欧洲 我已将管道区域设置为europe west1 d但我无法更改工作本身的区域 我尝试更改管道选项中的区域 但这会导致错误 并且只有默认区域有效 p
  • 根据三列中的值组织行

    导入并获取数据集import numpy as np import matplotlib pyplot as plt import pandas as pd df pd DataFrame DaysExperienceTask 7 8 2
  • Python argparse:需要两个并存的位置参数

    使用 argparse 如何指定我希望两个位置参数一起出现或根本不出现 IE 我希望我的使用字符串看起来像 Usage FooBar py h FOO BAR 正如 hpaulj 所建议的 这是您可以使用的解决方案 In 1 import
  • RabbitMQ 中的 celeryev 队列变得非常大

    我在rabbitmq上使用celery 我已经向队列发送了数千条消息 它们正在成功处理 一切正常 然而 几个rabbitmq队列中的消息数量增长得相当大 队列中有数十万个项目 队列被命名为celeryev 见下面的截图 这是适当的行为吗 这
  • 找出段落中出现的单词

    sentence Alice was not a bit hurt and she jumped up on to her feet in a moment words Alice jumped played 我可以使用filterpyth
  • Python从int到string的快速转换

    我正在用 python 求解大量阶乘 并发现当我完成计算阶乘时 需要相同的时间才能转换为字符串以保存到文件中 我试图找到一种将 int 转换为字符串的快速方法 我将举一个计算和 int 转换时间的例子 我正在使用通用的 a str a 但感
  • 为什么我的代码不能根据字典解码加密字符串?

    我有一本字典 其中包含代表字母的键和值 例如一个简单的 DICT CODE b g n a p o x d t y 我收到了一个加密代码 并将该字符串转换为一个列表 其中每个项目都是一个单词 我需要根据字典中的项目来解决它 代码示例是 wo
  • python 类工厂继承随机父类

    我有一些这样的代码 class Person object def drive self f t raise NotImplementedError class John Person def drive self f t print Jo
  • 使用 Python 2.7 和 MySQLdb 将二进制数据插入 MySQL 中的 blob 列时如何避免编码警告

    我在将二进制数据插入到longblob使用 Python 2 7 中的 MySQLdb 在 MySQL 中的列 但我收到一个编码警告 我不知道如何解决 test py 11 Warning Invalid utf8 character st
  • 列表推导式在 Python2 中泄漏循环变量:如何使其与 Python3 兼容

    我刚刚了解到为什么列表推导式会写入循环变量 而生成器却不会 https stackoverflow com questions 19848082 why do list comprehensions write to the loop va
  • 是否可以忽略 Matplotlib 绘图的第一个默认颜色?

    Matplotlib plots each column of my matrix a with 4 columns by blue yellow green red Then I plot only the second third fo
  • pydev 断点不起作用

    我正在使用 python 2 7 2 sqlalchemy 0 7 unittest eclipse 3 7 2 和 pydev 2 4 开发一个项目 我在 python 文件 单元测 试文件 中设置断点 但它们被完全忽略 之前 在某些时候
  • RabbitMQ 中 Pub/Sub 与工作队列的混合

    我正在评估使用 RabbitMQ 作为消息队列 消息总线 并一直在查看示例教程 https www rabbitmq com getstarted html在 RabbitMQ 页面上 我正在寻找教程中未涵盖的特定场景 并且我不确定是否以及
  • 使用 python/scapy 迭代 pcap 文件数据包

    我想使用 python scapy 迭代 pcap 文件包 该文件有多个协议 当前迭代是特定于协议的 因此如果下一个数据包来自另一个协议 则迭代会 跳转 我不知道为什么现在会变成这样 我想要一个数据包一个数据包 无论什么协议 小例子 dat
  • 在 matplotlib 中使用一组标量值对球体表面着色

    我对 matplotlib 相当陌生 这也是我的第一个问题 我试图代表脑电图记录的头皮表面电位 到目前为止 我已经有了一个球体投影的二维图形 它是使用轮廓生成的 并且几乎可以归结为普通的热图 有什么方法可以在半个球体上完成此操作吗 即生成一

随机推荐

  • 为什么 Python 中的函数/方法调用成本昂贵?

    In 这个帖子 https web archive org web 20180919031245 https plus google com 115212051037621986145 posts HajXHPGN752 Guido van
  • 通过 SMTP 发送电子邮件时出错

    我正在尝试使用 gmail 作为 SMTP 通过 Java 代码发送电子邮件 但出现如下异常 请告诉我为什么找不到 gmail 主机 我在办公室网络中工作 不确定是否某些防火墙阻止其发送 如果是的话 出路是什么 Exception in t
  • Msvcr71.dll Msvcp71.dll 丢失

    我写了一些应用程序 但是当我在多个操作系统上运行它时 我们发现这两个文件丢失了 当我将它们添加到 windows system32 文件夹时 应用程序工作正常 我看到了这个解决方案如何正确安装 msvcr71 dll https stack
  • 通过 ng-init 将变量注入到控制器

    我想将具有不同值的相同变量多次注入到同一个控制器中 这就是我尝试过的 在每次调用中获取不同值的方法是什么 HTML div div div div div div
  • 如何将图像(.png)转换为base64字符串,反之亦然并将其存储到指定位置

    我正在尝试将图像 png 存储到Windows 8应用程序中的sqlite数据库中 我发现可以通过将其转换为base64字符串并将该字符串存储到数据库来完成 稍后在应用程序中 我想将该 base64 字符串转换为 png 图像并将其存储到指
  • 如何确定两个相似的乐队名称是否代表同一乐队?

    我目前正在开展一个项目 该项目要求我将我们的乐队和场地数据库与许多外部服务相匹配 基本上我正在寻找一些关于确定两个名字是否相同的最佳方法的方向 例如 我们的数据库场地名称 The Pig and Whistle 服务1 猪和口哨 服务2 猪
  • 线性过滤能否用于 MSAA 纹理到非 MSAA 纹理的 FBO blit?

    我有两个 2D 纹理 第一个是 MSAA 纹理 使用的目标为GL TEXTURE 2D MULTISAMPLE 第二个非 MSAA 纹理使用的目标为GL TEXTURE 2D 根据 OpenGL 的ARB texture multisamp
  • 如何跟踪 iOS 设备上 3G/wifi 的网络流量? [复制]

    这个问题在这里已经有答案了 我想了解一个应用程序如何DataMan http itunes apple com us app dataman real time data usage id393282873 mt 8工作 即使它在后台运行
  • 在 MSBuild 中,我可以在元数据项上使用 String.Replace 函数吗?

    在 MSBuild v4 中 可以使用函数 例如string replace on 特性 但是我怎样才能使用函数Metadata 我想使用string replace功能如下
  • 如何从 rake 文件运行 ruby​​ 类?

    我想运行一个 ruby 类样本 rake file 考虑myruby rb是一个红宝石文件 我想从以下位置运行这个样本 rake like ruby myruby rb 添加一个示例脚本来添加 tobias 在这里所说的内容 样本内容myr
  • 数组的渲染 json 问题

    我有来自我的服务器的这个数组 当我使用 put 时返回如下 formatted total price Acirc pound 66 00 formatted total price Acirc pound 128 00 formatted
  • 按钮点击声音

    这就是我想做的 我有大约 30 个按钮 我希望当点击每个按钮时 它会播放不同的mp3文件 像这样http www soundjig com pages soundfx beeps html http www soundjig com pag
  • 如何从 TypeScript 中的通用部分构建目标对象?

    我在用 电子邮件受保护 cdn cgi l email protection 我有一个目标对象 interface MyTarget a string b string c string d string 我想使用泛型创建部分对象的多个转换
  • jquery-confirm 对话框中的 jQuery UI 日期选择器

    我正在使用下面链接中的 jquery confirm 脚本 它能够在对话框中包含表单字段 您可以通过单击下面链接中的 按提示操作 蓝色按钮来查看此内容 我已经设置了表单 单个字段 但我希望这个输入是一个日期选择器 并且我不知道应该在哪里放置
  • Django Q 查询 & 在同一字段上?

    这是我的模型 class Event models Model user models ForeignKey User blank True null True db index True name models CharField max
  • 下拉菜单中的 jvectormaps,NS_ERROR_FAILURE:

    我的 jvector 地图位于下拉菜单中 它在 safari opera 和 chrome 中运行良好 但会损坏 没有地图 和错误消息 NS ERROR FAILURE 2 0 2 min js 第 700 行 return this no
  • LinkedList不能序列化?

    这是我的课程 http pastebin com 3dc5Vb1t http pastebin com 3dc5Vb1t 当我尝试跑步时 BookStore b new BookStore b LoadFromXML Server MapP
  • 如何替换 Tkinter 应用程序中的图标?

    我在 Windows 10 上使用 Python 3 5 0 并且想要替换它 要更改图标 您应该使用iconbitmap or wm iconbitmap我的印象是您想要将其更改为的文件必须是 ico 文件 import tkinter a
  • C#:GPS跟踪系统[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何在 C net 中构建带有移动设备 带 GPS 的 GPS 跟踪系统 场景是 通过支持 GPS 的手机跟踪用户 服务工程师 这里没
  • 保持鼠兔 BlockingConnection 存活而不禁用心跳

    我正在使用 pika 0 10 0 和 python 2 7 版本开发 RabbitMQ 消费者 在我的消费者客户端中 我有一个根据输入消息运行一段时间的进程 时间可能从 3 到 40 分钟不等 我不想禁用心跳 相反 我正在寻找一些回滚机制