gpt4 book ai didi

ruby - 文件还在上传吗?

转载 作者:数据小太阳 更新时间:2023-10-29 07:37:13 25 4
gpt4 key购买 nike

我有一个我正在编写的应用程序,它获取特定目录中的文件,这些文件已通过 SFTP 上传,并将它们移动到 S3。

我的 cron 作业在文件未完全上传时开始上传文件时出现问题。我已经想过各种方法来尝试等待文件完成,但我无从知晓(我知道)。

我希望 SO 的集体天才能够阐明这一点!

最佳答案

有很多方法可以解决这个问题:

  1. 更改上传过程以上传数据文件本身(例如 data.txt),然后上传标记文件(例如 data.txt.sentinel)。然后在处理数据文件之前等待哨兵并将它们都删除。超过 N 天的数据文件没有相应的标记 - 只需删除它们。这只有在您可以更改上传者时才有用。

  2. 如果您可以评估文件的内容以检查完整性,这是另一种方式。例如,如果您只上传 HTML 文件,您可以检查它是否以 </html> 结尾。 .除非您可以控制上传的内容,否则并非总是可行。

  3. 暂时未修改的方法。基本上,如果文件在 N 分钟内没有被修改,你可以认为上传已经完成。这仍然可能导致处理中途失败的不完整文件。

所有这些方法都有其优点和缺点,您必须决定哪种方法最适合您。我们尝试选择 1 号,我们可以影响上传端。

请记住,在上述情况下 N 是可配置的。您需要权衡以下可能性:N 太小将导致您在选项 3 中处理不完整的文件,但 N 值太大将延迟对所述文件的处理。

关于ruby - 文件还在上传吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1972896/

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