'Formula for computing the current backoff
:rtype: float'

def get_backoff_time(self):

    consecutive_errors_len = len(list(takewhile((lambda x: (x.redirect_location is None)), reversed(self.history))))
    if (consecutive_errors_len <= 1):
        return 0
    backoff_value = (self.backoff_factor * (2 ** (consecutive_errors_len - 1)))
    return min(self.BACKOFF_MAX, backoff_value)
