【发布时间】:2012-03-22 17:26:05
【问题描述】:
我正在使用来自 Talend Studio 项目的 tWaitForFile 组件,我想知道是否有办法确保文件在该文件完全写入磁盘时触发事件。
我尝试设置高级属性:“等待文件被释放” 不过好像没啥用,文件还没传完就触发组件。
有没有人有同样的行为和解决方法?
Tos的版本是:4.2.3
【问题讨论】:
标签: file-transfer talend
我正在使用来自 Talend Studio 项目的 tWaitForFile 组件,我想知道是否有办法确保文件在该文件完全写入磁盘时触发事件。
我尝试设置高级属性:“等待文件被释放” 不过好像没啥用,文件还没传完就触发组件。
有没有人有同样的行为和解决方法?
Tos的版本是:4.2.3
【问题讨论】:
标签: file-transfer talend
高级设置“等待文件发布”仅适用于 Windows。它对 Unix 没有影响,这可能解释了为什么它不适合你。
对于一个 Unix 进程来说,判断一个文件是否已被完全写入通常是困难的,甚至是不可能的。因此,在 Talend 中也没有简单的方法来做到这一点。
(例如,如果你想等到文件大小不再变化——你要等多久?)
一个常见的解决方案涉及写入到文件的过程:首先以不同的名称创建文件,当它完全写入后,将其重命名为其他进程期望的名称。这样,它会立即以完整尺寸显示。
【讨论】: