gpt4 book ai didi

java - CAMEL 正在 "mv"命令完成之前处理文件

转载 作者:行者123 更新时间:2023-12-01 16:09:08 25 4
gpt4 key购买 nike

我们的监控脚本遇到问题。

程序流程为

  1. 客户将文件(.csv 格式)ftp/sftp 到“源”目录
  2. Bash 脚本将完成的 .csv 文件重命名为 .aaa 文件
  3. 另一个 Bash 脚本将“.aaa”文件移动到“destination”目录,并将该文件重命名回“.csv”
  4. CAMEL 正在监视“目标”目录。如果任何文件到达“目标”文件夹并且扩展名不等于“.aaa”,它将开始处理该文件。

这里第 3 步失败了。 Bash 脚本成功移动文件。但是,当将文件从“.aaa”重命名为“.csv”时,CAMEL 会获取文件并开始处理。 CAMEL 失败并出现错误“页脚不存在”。这是因为“mv”命令未完成,并且 CAMEL 在“mv”完成之前进行了处理。所以它处理了一个不完整的文件。

由于我们使用脚本,因此在使用命令时几乎没有灵 active 。我们使用Linux“mv”命令来重命名文件。

有没有办法在重命名时锁定脚本中的文件,从而阻止 CAMEL 访问它?

或者有更好的方法来处理这种情况吗?

提前感谢您的帮助。

谢谢,马修·李居

最佳答案

第3步怎么做?

mv foo.aaa dest/foo.csv

mv foo.aaa dest/foo.aaa
mv dest/foo.aaa dest/foo.csv

我认为后者应该是原子的,而如果 origin 和 dest 位于不同的分区/文件系统上,则第一个是副本。

关于java - CAMEL 正在 "mv"命令完成之前处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1865054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com