From ad995b0845ef806e742bbaa5ca5e23391fb858ce Mon Sep 17 00:00:00 2001 From: xenofem Date: Tue, 23 Nov 2021 12:46:16 -0500 Subject: [PATCH] better handling of stalled/overfilled tasks --- impatient | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/impatient b/impatient index 8e18462..278a2a2 100755 --- a/impatient +++ b/impatient @@ -2,6 +2,7 @@ import argparse import datetime +import math import subprocess import sys import time @@ -94,8 +95,13 @@ while True: fraction = current / final value_remaining = final - current print(' - {} total - {:.1f}% complete'.format(display_value(final), 100*fraction), end='') - if rate > 0: - time_remaining = datetime.timedelta(seconds=(value_remaining / rate)) + seconds_remaining = (value_remaining / rate) if rate > 0 else math.inf + if seconds_remaining < 0: + print(' - unknown time remaining', end='') + elif seconds_remaining > 864000: + print(' - stalled', end='') + else: + time_remaining = datetime.timedelta(seconds=seconds_remaining) eta = datetime.datetime.now() + time_remaining print(' - {} remaining - ETA {}'.format( display_timedelta(time_remaining),