This gem uses a moving average of previous task execution durations and how much work is still remaining to calculate how long it will take to finish the remaining tasks.
johnmcdowall
gem "time_remaining", "~> 0.0.8"