Python中的共享持久存储

时间:2014-01-21 16:21:17

标签: python multiprocess

每个进程都将文件写入目录。目标是控制目录的大小,以便每当达到大小(S)时,所有进程都停止写入目录并丢弃他们将要写入的文件。

如果大小因此低于S,因为其中一些文件已被删除,则进程将继续写入文件。

似乎我需要进程间锁定来实现这种设计。但是,我想也许有一种更简单的方法,因为在python中并不容易获得进程间锁定,显然在进程之间存在争用。

Python 2.7 平台(Win,Mac,Linux)

1 个答案:

答案 0 :(得分:1)

使用锁定文件可能是一种选择。例如,每个进程在写入之前检查类似“/ target_dir / lock”的文件。如果文件存在,进程将不会写任何内容。因此,您必须运行单独的监视进程,该进程检查目录大小,并创建或删除锁定文件。