我正在使用 Talend Studio 项目中的 tWaitForFile 组件,我想知道是否有办法确保文件在磁盘上完全写入时触发事件。
我尝试设置高级属性:“等待文件被释放” 不过好像这个没啥用,文件还没传输完就触发组件了。
有人有相同的行为和解决方案吗?
Tos的版本是:4.2.3
最佳答案
高级设置“等待文件释放”仅适用于 Windows。它对 Unix 没有影响,这可能解释了为什么它不适合你。
对于 Unix 进程来说,确定文件是否已完全写入通常是困难的,甚至是不可能的。因此,在 Talend 中也没有简单的方法来做到这一点。
(例如,如果您想等到文件大小不再改变 - 您要等多久?)
常见的解决方案涉及写入文件的过程:首先以不同的名称创建文件,当文件完全写入后,将其重命名为其他进程期望的名称。这样,它将立即以完整尺寸显示。
关于file-transfer - Talend studio tWaitForFile 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9827369/