From f4f8aa3e52f5cc52d8f0f1b1f2e704fa9e5c69ab Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 27 Aug 2020 14:17:52 -0500 Subject: [PATCH] Prevent duckdns from consuming 100% cpu when time abruptly moves forward (#39334) --- homeassistant/components/duckdns/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/duckdns/__init__.py b/homeassistant/components/duckdns/__init__.py index b3da1ec2752..3fd1e4e4d5e 100644 --- a/homeassistant/components/duckdns/__init__.py +++ b/homeassistant/components/duckdns/__init__.py @@ -120,7 +120,10 @@ def async_track_time_interval_backoff(hass, action, intervals) -> CALLBACK_TYPE: failed = 0 finally: delay = intervals[failed] if failed < len(intervals) else intervals[-1] - remove = async_track_point_in_utc_time(hass, interval_listener, now + delay) + # call dt_util.utcnow() again in case time abruptly moves forward + remove = async_track_point_in_utc_time( + hass, interval_listener, dt_util.utcnow() + delay + ) hass.async_run_job(interval_listener, dt_util.utcnow())