2017-03-15 52 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

相關問題