如何在Ruby中知道文件是否已完全下载

时间:2008-12-11 23:13:02

标签: ruby

我们的问题是我们的项目使用wget将文件下载到文件系统。我们使用ruby来读取下载的数据文件 如何判断文件是否已完全下载,以便我们不读取半完整文件?

2 个答案:

答案 0 :(得分:8)

我问very similar question并得到了一些好的答案......总之,使用以下一项或多项的组合:

  • 将文件下载到保留区域,最后复制到输入目录;
  • 使用下载完成后创建的标记文件来表示准备就绪;
  • 两次轮询该文件并查看其大小是否已停止增加;
  • 检查文件的权限(某些下载进程在下载期间阻止读取);
  • 使用另一种方法,如Ruby进程的线程内下载。

引用Martin Cowie的话说,“这是一个像山丘一样古老的中间件问题”......

答案 1 :(得分:2)

典型的方法是将文件下载到临时位置,完成后“移动”到最终目的地进行处理。