我正在用 Python 2.7 为 Windows 构建一个桌面应用程序。此应用程序的主要功能是监视文件夹中的新文件。每当此文件夹中出现新文件时,应用程序就会将其上传到远程服务器。远程服务器上的进程为该文件创建一个 db 记录,并将远程文件路径存储在该记录中。
目前我正在使用看门狗来监视目录和httplib进行文件上传。
无论网络状况或互联网连接丢失,我应该采取什么方法来确保可靠地上传新文件?
更新:我所说的可靠上传是指即使应用重新启动,应用也会上传文件。像 Dropbox。有些文件非常大(> 100 MB),因此简单的解决方案(例如将代码包装进去
try / catch
并重新开始上传)效率不高。我知道 Dropbox 使用 librsync,但在这种情况下它可能有点矫枉过正。如果在上传过程中源文件被更改了怎么办?我应该停止上传并重新开始吗?