Python 2.7 で Windows 用のデスクトップ アプリケーションを構築しています。このアプリケーションの主な機能は、新しいファイルのフォルダーを監視することです。このフォルダーに新しいファイルが表示されるたびに、アプリはそのファイルをリモート サーバーにアップロードします。リモート サーバー上のプロセスは、ファイルのデータベース レコードを作成し、そのレコードにリモート ファイル パスを格納します。
現在、ウォッチドッグを使用してディレクトリを監視し、 httplibをファイルのアップロードに使用しています。
ネットワークの状態やインターネット接続の切断に関係なく、新しいファイルが確実にアップロードされるようにするには、どのようなアプローチを取る必要がありますか?
更新:信頼できるアップロードとは、アプリが再起動してもアプリがファイルをアップロードするということです。ドロップボックスのように。一部のファイルは非常に大きい (> 100 MB) ため、コードをラップし
try / catch
てアップロードを開始するなどの単純なソリューションはあまり効率的ではありません。Dropbox が librsync を使用していることは知っていますが、この場合はやり過ぎかもしれません。アップロード中にソース ファイルが変更された場合はどうなりますか? アップロードを停止して最初からやり直す必要がありますか?