python中一个很好的持久同步队列

2024-01-07

我不会立即关心 fifo 或 filo 选项,但将来可能会很好。

我正在寻找一种快速简单的方法来在磁盘上存储(最多一千兆数据或数千万个条目),可以由多个进程获取和放置。这些条目只是简单的 40 字节字符串,而不是 python 对象。并不真正需要所有功能shelve http://docs.python.org/library/shelve.html.

我见过这个http://code.activestate.com/lists/python-list/310105/ http://code.activestate.com/lists/python-list/310105/看起来很简单。需要升级到新的Queue版本。

想知道是否有更好的东西?我担心,如果发生电源中断,整个腌制文件都会损坏,而不仅仅是一条记录。


这是一个非常古老的问题,但是persist-queue https://pypi.org/project/persist-queue/似乎是完成此类任务的一个不错的工具。

persist-queue 实现了一个基于文件的队列和一系列 基于 sqlite3 的队列。目标是实现以下要求:

  • 基于磁盘:每个排队项目都应存储在磁盘中,以防发生崩溃。
  • 线程安全:可供多线程生产者和多线程消费者使用。
  • 可恢复:进程重新启动后可以读取项目。
  • Green兼容:可以在greenlet或eventlet环境中使用。

默认情况下,persist-queue 使用 pickle 对象序列化模块来 支持对象实例。大多数内置类型,如 int、dict、list 是 可以直接通过persist-queue持久化,支持自定义 对象,请参阅 Pickling 和 unpickling 扩展 类型 (Python2) 和 Pickling 类实例 (Python3)

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

python中一个很好的持久同步队列 的相关文章

  • Python:使用 string.format() 将单词大写

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

    这个问题在这里已经有答案了 我想将一个填充纯色的半透明矩形添加到已加载的半透明 PNG 中 这是我正在使用的输入图像示例 该图像加载了标准cv2 IMREAD UNCHANGED标志 以便完美保留 alpha 通道 该输入图像存储在imag
  • 在 pandas 中单独打印一列的原始值?

    我有一个数据框 df pd DataFrame name george age 23 name anna age 26 现在我想检索乔治的年龄 df df name george age 但这会输出一些额外的信息以及原始值 0 23 Nam
  • pandas Wide_to_long 后缀参数

    我对在 pandas 中使用 Wide to long 时的参数有疑问 有一个参数叫suffix我不明白 在文档中它说 后缀 str 默认 d 捕获所需后缀的正则表达式 d 捕获数字后缀 没有数字的后缀可以用否定字符类 D 指定 您还可以进
  • 类型错误:float() 参数必须是字符串或数字,而不是“列表”python

    我的 Python 有问题 这是我的代码 def calcola a input b float a 0 split c float a 0 split d float a 0 split e float a 0 split j float
  • 使用 pandas 将字符串对象转换为 int/float

    import pandas as pd path1 home supertramp Desktop 100 life 180 data csv mydf pd read csv path1 numcigar Never 0 1 5 Ciga
  • Paramiko SSHException 通道已关闭

    我一直在使用 Paramiko 在 Linux Windows 机器上发送命令 它可以很好地在 Ubuntu 机器上远程执行测试 但是 它不适用于 Windows 7 主机 以下是我收到的错误 def unit for event self
  • reStructuredText:README.rst 未在 PyPI 上解析

    我有一个托管在 Github 和 PyPI 上的 Python 项目 在 Github 上 https github com sloria TextBlob blob master README rst https github com s
  • Pandas:将 pytz.FixedOffset 应用于系列

    我有一个带有timestamp列看起来像这样 0 2020 01 26 05 00 00 08 00 1 2020 01 26 06 00 00 08 00 Name timestamp dtype datetime64 ns pytz F
  • 在seaborn中对箱线图x轴进行排序

    我的数据框round data看起来像这样 error username task path 0 0 02 n49vq14uhvy93i5uw33tf7s1ei07vngozrzlsr6q6cnh8w 39 png 1 0 10 n49vq
  • Selenium 不会在新选项卡中打开新 URL(Python 和 Chrome)

    我想使用 Selenium WebDriver 和 Python 在不同的选项卡中打开相当多的 URL 我不确定出了什么问题 driver webdriver Chrome driver get url1 time sleep 5 driv
  • 计算 pyspark df 列中子字符串列表的出现次数

    我想计算子字符串列表的出现次数 并根据 pyspark df 中包含长字符串的列创建一个列 Input ID History 1 USA UK IND DEN MAL SWE AUS 2 USA UK PAK NOR 3 NOR NZE 4
  • 更换壳牌管道[重复]

    这个问题在这里已经有答案了 在 subprocess 模块的 Python 2 7 文档中 我找到了以下片段 p1 Popen dmesg stdout PIPE p2 Popen grep hda stdin p1 stdout stdo
  • 在Python中连续解析文件

    我正在编写一个脚本 该脚本使用 HTTP 流量行解析文件 并取出域 目前仅将它们打印到屏幕上 我正在使用 httpry 将流量连续写入文件 这是我用来删除域名的脚本 usr bin python import re input open r
  • 如何使用 os.chdir 转到减去最后一步的路径?

    例如 一个方法传递了一个路径作为参数 这个路径可能是 C a b c d 如果我想使用 os chdir 更改为 C a b 怎么办 c 没有最后一个文件夹 os chdir 可以接受 命令吗 os chdir 可以采取 作为论点 是的 然
  • 在 Python 中访问 argparse 的参数值

    我正在尝试为我的程序设置一些简单的标志参数 但无法弄清楚如何访问它们 我有 argparser parser argparse ArgumentParser description Simple PostScript Interpreter
  • Pip 无法在 Windows 上安装 Twisted

    我正在尝试在 Windows 8 计算机上安装 Twisted 在 Twisted 官方网站上 只有一个 Windows 版的 Wheel 文件 https twistedmatrix com trac wiki Downloads htt
  • Streamlabs API 405 响应代码

    我正在尝试使用Streamlabs API https dev streamlabs com Streamlabs API 使用 Oauth2 来创建应用程序 因此 首先我将使用我的应用程序的用户发送到一个授权链接 其中包含我的应用程序的客
  • 在父类中访问子类变量

    我有一个父类和一个继承的子类 我想知道如何访问我的父类中的子类变量 我尝试了这个但失败了 class Parent object def init self print x class Child Parent x 1 x Child Er
  • Java/Python 中的快速 IPC/Socket 通信

    我的应用程序中需要两个进程 Java 和 Python 进行通信 我注意到套接字通信占用了 93 的运行时间 为什么通讯这么慢 我应该寻找套接字通信的替代方案还是可以使其更快 更新 我发现了一个简单的修复方法 由于某些未知原因 缓冲输出流似

随机推荐

  • 如果我在 -init 中什么都不做,是否与仅调用 [MyClass alloc] 相同?

    如果我有一个NSObject子类要么没有 init方法或根本不执行任何操作 init 这两种方式创建的实例有什么区别 MyClass instance MyClass alloc MyClass instance MyClass alloc
  • C++ 标准到底在哪里说取消引用未初始化的指针是未定义的行为?

    到目前为止 我找不到如何推断出以下内容 int ptr ptr 0 是未定义的行为 首先 5 3 1 1 指出 表示间接转换T to T 但这并没有说明UB的任何事情 然后经常引用3 7 3 2 4 说在非空指针上使用释放函数会导致指针无效
  • R 中绘图标签中的乳胶和变量?

    如何在 R 的 Latex 表达式中使用变量 例如 plot X Y main expression R 2 将把 R 加上漂亮的上标 2 作为主标题 但假设我希望它说 R 2 0 5 其中 0 5 来自 R 变量 我怎么做 Owen 的
  • 使用 DLL 中的类创建 VB6 应用程序,然后在构建后交换该 DLL?

    所以我的问题相对简单 我可以创建引用dll中的类的VB6应用程序 然后在运行时将该dll替换为另一个吗 现在我最初的猜测是 在 VB6 中没有机会 所以我的想法转向了 VB net interop dll 我可以在这里做 然后从 VB 调用
  • log4net LogicalThreadContext 不工作

    我的问题要么是 log4net 中的错误 要么是我的误解 我正在尝试使用LogicalThreadContext将某些数据与调用上下文相关联 并将其传播到该上下文中任何线程发出的任何日志语句 这就是所谓的优点LogicalThreadCon
  • Codeigniter 使用什么设计模式?

    相当简单的问题 我知道 Codeigniter 是一个 MVC 框架 但是 Codeigniter 使用什么设计模式 乍一看 它看起来像 Facade 但我可能是错的 Edit 也许我应该为那些不使用 Codeigniter 的人描述一下它
  • 迭代数据网格的行

    我试图通过迭代数据网格的所有行来从数据网格中提取值 foreach DataRow drv in PGIPortfolio Items DataRow row drv Row string acname drv Portfolio ToSt
  • 我无法在 servlet-context XML 中使用 Spring 过滤器

    由于某种原因 Eclipse 和 Spring 都找不到过滤器标签 甚至有一个红色标记 出了什么问题
  • 通过计划任务触发时.net应用程序失败

    我有一个用 C 编写的 net 控制台应用程序 它在 Visual Studio 中运行以及单击文件系统中的 exe 文件时完全执行其应有的操作 它运行起来就像一个魅力 但是 当我在 Windows 7 开发计算机或 Windows 200
  • 更改 iPad 的备用图标

    我在 iPad 上更改应用程序图标时遇到问题 在 iPhone 上一切正常 但在 iPad 上我收到此错误 默认 无法将preferredIconName设置为AI Gorgosaurus 0 gt 错误 错误 Domain NSCocoa
  • Cassandra 长行性能

    我正在考虑在 Cassandra 中实现一个具有很长行 每行数十万到数百万列 的 CF 我使用完全虚拟的数据 将 200 万列插入到一行中 均匀间隔 如果我执行切片操作以获得 20 列 那么当您在行的下方执行切片操作时 我会注意到性能大幅下
  • Swift:将类的 ObjectID 用于可哈希协议会导致 set.contains 方法中的随机行为。代码有什么问题吗?

    我在一个集合中存储了少量自定义类的实例 我需要检查该集合中是否包含某个元素 匹配的标准必须是对象的 ID 而不是其内容 为了简化起见 假设一个类以整数 var 作为唯一属性 并且该类有两个不同的实例 两者都保存数字 1 直接比较这些实例应返
  • 当脚本结果正确时,Powershell 返回负退出代码

    我制作了以下 PowerShell 脚本 Set Location D folder1 folder2 folder3 folder4 Get ChildItem Rename Item NewName BaseName insert 19
  • 如何取消拆分编辑器,从 2 个代码视图返回到 1 个,与终端相同

    如何取消拆分编辑器 从 2 个代码视图返回到 1 个 与终端相同 编辑组 为了 不分裂 编辑组 https code visualstudio com docs getstarted userinterface editor groups
  • 如何查询Oracle目录的权限?

    我在 all directories 中有一个目录 但我需要找出与它关联的权限 即已授予它什么权限 这将为您提供在目录上授予的角色 用户和权限 SELECT FROM all tab privs WHERE table name your
  • 如何使 QLineEdit 在 Windows 中不可编辑

    我正在使用 Qt 5 2 我想做一个QLineEdit不可编辑 问题是 它看起来并不像这样 使用时setReadOnly true 它保持白色背景 看起来仍然可以编辑 如果我禁用它 它就会变成灰色 文本也会变成浅灰色 问题是 在禁用状态下
  • 如何在 Internet Explorer 中触发 script.onerror?

    The MSDN 上的 onerror 页面 http msdn microsoft com en us library cc197053 28VS 85 29 aspx指出 onerror 处理程序可以附加到脚本元素 并且它 在对象加载期
  • ggplot 中的直方图不是从 X 轴上的零开始[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 所以 这是第一次使用 ggplot 制作直方图 我看到的是 对于我的数据 导出的直方图如下所示 我不喜欢的是 第一个 bin 不包含零
  • 在 Pandas 中解析大型 CSV 文件的最快方法

    我正在使用 pandas 来分析大型 CSV 数据文件 它们的大小约为 100 兆 每次从 csv 加载需要几秒钟 然后需要更多时间来转换日期 我尝试加载文件 将日期从字符串转换为日期时间 然后将它们重新保存为 pickle 文件 但加载这
  • python中一个很好的持久同步队列

    我不会立即关心 fifo 或 filo 选项 但将来可能会很好 我正在寻找一种快速简单的方法来在磁盘上存储 最多一千兆数据或数千万个条目 可以由多个进程获取和放置 这些条目只是简单的 40 字节字符串 而不是 python 对象 并不真正需