2012-03-22 82 views
2

我正在使用Talend Studio項目中的tWaitForFile組件,我想知道是否有一種方法可以確保文件在該文件完全寫入磁盤時觸發事件。Talend studio tWaitForFile問題

我試圖設置高級屬性:「等待文件被釋放」 但似乎這是無用的,即使它沒有完成傳輸文件觸發組件。

有沒有人有同樣的行爲和解決方案來解決這個問題?

服務條款的版本是:4.2.3

回答

4

高級設置「等文件中公佈的」僅適用於Windows。它對Unix沒有影響,這可能解釋了爲什麼它不適合你。

對於Unix進程來說,一個文件是否被完全寫入是很困難的,甚至是不可能的。因此,Talend也沒有簡單的方法來做到這一點。

(例如,如果你想等到文件的大小不會改變了 - 多久你等待?)

常見的解決方案涉及編寫該文件的過程:創建文件首先使用不同的名稱,當它完全寫入時,將其重命名爲其他進程所期望的名稱。這樣,它會立即顯示完整大小。

+2

謝謝!我不知道該功能僅在Windows上可用。最後,我做了一些類似於解決方案的解決方法:我傳輸大的zip文件,然後在完成時傳輸一個包含zip名稱的控制文件。 tWaitForFile的其他Talend作業等待控制文件,不再在zip文件中。 – 2012-03-30 19:51:33