そこで、再構築の進行状況と、この再構築が完了するまでの残り時間を出力する関数を作成したいと思います。ただし、再構築が 100% に達したら終了する必要があります。これは私がこれまでに持っているものです:
def progress():
# This prints out the time left until rebuild is done.
loudEchoCMD("storage::rebuild-eta")
# This prints out the % of the rebuild that is done.
rebuildProgress = loudEchoCMD("storage::rebuild-progress")
print rebuildProgress
if rebuildProgress != '100%':
global t
t = threading.Timer(5.0, progress)
t.start()
else:
t.cancel()
再構築プロセスを開始すると、スレッドが進行状況と ETA を 5 秒ごとに出力する代わりに、最初にそれを終了してからスレッドを開始します。