Stretcher v0.5.0 でダウンロードの帯域制限とタイムアウト機能を追加しました。
$ stretcher -h
Usage of stretcher:
-max-bandwidth string
max bandwidth for download src archives (Bytes/sec)
-random-delay float
sleep [0,random-delay) sec on start
-timeout int
timeout for download src archives (sec)
帯域制限 -max-bandwidth
manifestのsrc
に指定したアーカイブは往々にして巨大になるため、アーカイブの取得でネットワーク帯域を使い果たさないように制限するオプションです。
単位は Bytes/Sec で、go-humanize が解釈できる形式のsuffixも付けられます。
例: 10MB/sec に制限したい場合 -max-bandwidth 10m
-random-delay
と合わせて、取得元への負荷をコントロールするのに有用かと思います。
自作の shapeio というライブラリを使用しています。
取得のタイムアウト -timeout
アーカイブの取得のタイムアウト設定(単位 秒)です。
src
の取得(ローカルファイルへの書き込みを含む)が指定時間内に終了しない場合、処理が中止されます。
アーカイブ取得部分のみのタイムアウト設定なので、pre
, post
等のコマンド実行やtarの展開、rsyncには掛かりません。
どうぞご利用ください。