Public Member Functions | |
| None | __init__ (self, float timeout, Callable[[], Coroutine[Any, None, None]] callback_job) |
| None | async_cleanup (self) |
| asyncio.Task | async_execute (self) |
| None | async_schedule (self) |
| None | set_timeout (self, float timeout) |
Private Member Functions | |
| None | _async_cancel_timer (self) |
| None | _async_job (self) |
| None | _async_task_done (self, asyncio.Task task) |
| None | _async_timer_reached (self) |
Private Attributes | |
| _callback | |
| _loop | |
| _next_execute_time | |
| _task | |
| _timeout | |
| _timer | |
Ensure a cool down period before executing a job. When a new execute request arrives we cancel the current request and start a new one. We allow patching this util, as we generally have exceptions for sleeps/waits/debouncers/timers causing long run times in tests.
| None homeassistant.components.mqtt.util.EnsureJobAfterCooldown.__init__ | ( | self, | |
| float | timeout, | ||
| Callable[[], Coroutine[Any, None, None]] | callback_job | ||
| ) |
|
private |
|
private |
|
private |
|
private |
| None homeassistant.components.mqtt.util.EnsureJobAfterCooldown.async_cleanup | ( | self | ) |
| asyncio.Task homeassistant.components.mqtt.util.EnsureJobAfterCooldown.async_execute | ( | self | ) |
| None homeassistant.components.mqtt.util.EnsureJobAfterCooldown.async_schedule | ( | self | ) |
| None homeassistant.components.mqtt.util.EnsureJobAfterCooldown.set_timeout | ( | self, | |
| float | timeout | ||
| ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |