繁体   English   中英

如何确定文件是否已通过Mule中的自定义SFTP连接器完成下载?

[英]How can I determine if a file has completed downloading via a custom SFTP connector in Mule?

我使用Mule中的自定义SFTP连接器(用Groovy编写)每天两次将文件下载到本地文件夹。 我已将SFTP超时设置为30秒,“入站文件连接器轮询频率”设置为0.5秒,“文件使用期限”设置为1秒。

每隔几天,该过程将在数据编织/转换阶段失败。 日志表明必填字段为null,但是当我手动检查文件时,该值在那里。 此外,它在文件的任何字段上随机失败,就像文件不完整一样,不是这种情况-当我将下载的文件与远程服务器进行比较时,它们是相同的。 如果我在本地计算机上手动运行该进程,则该进程始终会成功完成,从而使此问题难以复制。

这将向我暗示文件已完成下载之前正在处理中。

在处理器开始解析文件之前,是否有办法确定文件是否已从SFTP服务器完成下载?

下载文件后,从源中将其删除。 在处理下载的文件之前,您可以检查源文件夹中是否不存在该文件,也可以检查该字段是否为空。 如果可以的话,请让我。

每5秒钟等待一次,并检查fileSize。 如果fileSizes(先前和当前)相等,则继续。 如果没有,您就知道它仍在下载中,需要再等待5秒钟。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM