next_datetime = parse_datetime(resp.json().get('tracks', {}).get('next', {}).get('starts'))
wait_until = min(datetime.datetime.now() + datetime.timedelta(minutes=5), next_datetime)
waiting_time = (wait_until - datetime.datetime.now()).total_seconds()
- waiting_time = min((waiting_time, 300)) # wait for maximum 5 minutes
+ # wait at least 1 second but maximum 5 minutes
+ waiting_time = max((min((waiting_time, 300)), 1))
logger.debug('Waiting for %d seconds (announced change is %s)', waiting_time, next_datetime)
- time.sleep(waiting_time + 1) # wait at least 1 second
+ time.sleep(waiting_time)