基于 Python 文件的队列是进程安全的

Yuv*_*mon 5 python queue asynchronous cluster-computing multiprocessing

是否有进程安全的持久(基于磁盘)Python FIFO 队列?

有人可以提供一个简单的示例,其中包含一个将字符串写入队列的脚本,以及另一个从队列中一次读取一个字符串的脚本吗?请注意,每个进程都可以从命令行启动多次。即多个作者和多个读者。

背景:我有几个脚本,每个脚本每隔一段时间就会产生一些输出。我想了解他们创建的输出,并使用另一个脚本来处理他们产生的信息。不幸的是,我无法使用 Python 的多处理或线程模块,因为脚本可以在同一文件系统上的不同计算机上运行。即每个脚本都是从命令行启动的。

我所需要的只是每个队列元素都是一个字符串,并且队列是进程安全的。

编辑:我找到了queuelib pqueque的模块,但它们不提供进程安全性。我正在考虑用atomicfile调用替换queuelib的文件处理。但我担心调试它的时间太长,因为我时间不够,而且在编写应该是进程安全的软件时总是有一些细节需要注意。

注1:我使用的是Python 2.7。

注意2:我知道这个问题,但是我的要求非常适中,我正在寻找一个简单的解决方案,而该问题提供的答案涉及复杂的库,没有关于如何使用队列的示例。

编辑(2019):对于登陆这里的任何人,我发现SQLite 数据库提供原子访问,它有一个 python API,并且它是无服务器的。因此,我相信用它来实现我的问题中的队列是可能的(并且很容易)。