2017-03-15 53 views
0

Luigi文档描述了写入目标的potential problems regarding atomicity。他们说,这是一个常见的陷阱,应该使用临时目录进行处理,最终移动到目标位置。我是否需要为LocalTargets自己处理原子性?

如果我的目标是单个文件LocalTarget,我还需要自己处理吗?

luigi.local_target模块包含一个atomic_file类,这似乎表明,这是自动完成的,并且设计目标include “atomic file system operations”。但是我找不到任何文档说明LocalTarget可以安全使用。

回答

1

如果你看到路易吉路易吉/ local_target.py类LocalTarget的代码:

def open(self, mode='r'): 
    rwmode = mode.replace('b', '').replace('t', '') 
    if rwmode == 'w': 
     self.makedirs() 
     return self.format.pipe_writer(atomic_file(self.path)) 

路易吉创建一个临时文件,并在关闭时,改变最后的名字。

+0

是的,这是我看起来很好的地方;不过,我曾希望,这种行为有记录在某处,所以我可以依靠它保持这种方式。 – user4235730

相关问题