基于Python文件的队列,是一个过程安全的队列

时间:2017-02-20 21:33:25

标签: python asynchronous queue multiprocessing cluster-computing

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

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

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

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

编辑:我找到了queuelib pqueque的模块,但它们不提供过程安全性。我想可能用atomicfile调用替换queuelib的文件处理。但是我担心花费太长时间进行调试,因为我的时间不够,在编写应该是过程安全的软件时总会有细节处理。

注1:我使用的是Python 2.7。

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

0 个答案:

没有答案