Luigi文档描述了对目标的写作potential problems regarding atomicity。他们说这是一个常见的陷阱,应该使用最终移动到目标位置的临时目录来处理。
如果我的目标是单个文件LocalTarget
,我还需要自己处理吗?
luigi.local_target
模块包含atomic_file
类,它似乎表明这是自动完成的,设计目标为include “atomic file system operations”。但我找不到任何文件说明LocalTarget
可以安全使用。
答案 0 :(得分:1)
如果你看到Luigi luigi / 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))
Luigi创建一个临时文件,当它关闭时,更改为最终名称。