4

我正在用 Python 2.7 为 Windows 构建一个桌面应用程序。此应用程序的主要功能是监视文件夹中的新文件。每当此文件夹中出现新文件时,应用程序就会将其上传到远程服务器。远程服务器上的进程为该文件创建一个 db 记录,并将远程文件路径存储在该记录中。

目前我正在使用看门狗来监视目录和httplib进行文件上传。

  1. 无论网络状况或互联网连接丢失,我应该采取什么方法来确保可靠地上传新文件?

    更新:我所说的可靠上传是指即使应用重新启动,应用也会上传文件。像 Dropbox。有些文件非常大(> 100 MB),因此简单的解决方案(例如将代码包装进去try / catch并重新开始上传)效率不高。我知道 Dropbox 使用 librsync,但在这种情况下它可能有点矫枉过正。

  2. 如果在上传过程中源文件被更改了怎么办?我应该停止上传并重新开始吗?

4

1 回答 1

1

您可以维护文件名、时间戳和有关其上传状态的信息的文件或数据库。根据该数据,您将知道哪些文件已发送,以及在应用程序或计算机重新启动后要上传哪些文件。

检查时间戳告诉您文件已被修改并且应该重新开始上传过程。

于 2014-04-24T06:01:34.580 回答