0

rsyncPythonでrsyncを使用してファイルを転送しています。ユーザーがファイルを選択して転送を開始できる基本的な UI があります。選択したすべてのファイルを転送するための予想所要時間を表示したいと考えています。すべてのファイルの合計サイズをバイト単位で知っています。予想されるファイル転送時間を表示するスマートな方法は何ですか? 厳密に正確である必要はありません。

4

1 に答える 1

1

何かの完了までの推定時間を計算するには、現在完了しているデータの転送にかかった時間を追跡し、残りのデータの推定を過去の速度に基づいて行う必要があります。その基本的な方法を理解したら、加速、混雑、その他の影響を考慮して見積もりを調整するさまざまな方法があります。たとえば、過去100秒間に転送されたデータの量を取得し、これを20秒単位で分割します。加重平均速度を計算します。

私はPythonでrsyncを使用することに慣れていません。を使用して呼び出しているだけos.exec*()ですか、それともpysync(http://freecode.com/projects/pysync)のようなものを使用していますか?rsyncプロセスを生成している場合、詳細なデータを取得するのに苦労します(特に、大きなファイルを転送する場合)。いくつかの卑劣な方法で進行状況の行を生成rsync --progressして取得/解析できると思いますが、それはひどく厄介なようです。

于 2013-02-01T11:09:39.250 に答える