mirror of
https://github.com/home-assistant/core.git
synced 2025-04-23 00:37:53 +00:00
Update Coordinator: Only schedule a refresh if listenerrs (#34317)
This commit is contained in:
parent
c9cc024e9b
commit
ff469cb592
@ -170,7 +170,8 @@ class DataUpdateCoordinator:
|
||||
self.name,
|
||||
monotonic() - start,
|
||||
)
|
||||
self._schedule_refresh()
|
||||
if self._listeners:
|
||||
self._schedule_refresh()
|
||||
|
||||
for update_callback in self._listeners:
|
||||
update_callback()
|
||||
|
@ -41,6 +41,8 @@ async def test_async_refresh(crd):
|
||||
await crd.async_refresh()
|
||||
assert crd.data == 1
|
||||
assert crd.last_update_success is True
|
||||
# Make sure we didn't schedule a refresh because we have 0 listeners
|
||||
assert crd._unsub_refresh is None
|
||||
|
||||
updates = []
|
||||
|
||||
@ -50,6 +52,7 @@ async def test_async_refresh(crd):
|
||||
unsub = crd.async_add_listener(update_callback)
|
||||
await crd.async_refresh()
|
||||
assert updates == [2]
|
||||
assert crd._unsub_refresh is not None
|
||||
|
||||
# Test unsubscribing through function
|
||||
unsub()
|
||||
|
Loading…
x
Reference in New Issue
Block a user