mirror of
https://github.com/home-assistant/core.git
synced 2025-07-21 12:17:07 +00:00
Update Coordinator: Only schedule a refresh if listenerrs (#34317)
This commit is contained in:
parent
c9cc024e9b
commit
ff469cb592
@ -170,6 +170,7 @@ class DataUpdateCoordinator:
|
|||||||
self.name,
|
self.name,
|
||||||
monotonic() - start,
|
monotonic() - start,
|
||||||
)
|
)
|
||||||
|
if self._listeners:
|
||||||
self._schedule_refresh()
|
self._schedule_refresh()
|
||||||
|
|
||||||
for update_callback in self._listeners:
|
for update_callback in self._listeners:
|
||||||
|
@ -41,6 +41,8 @@ async def test_async_refresh(crd):
|
|||||||
await crd.async_refresh()
|
await crd.async_refresh()
|
||||||
assert crd.data == 1
|
assert crd.data == 1
|
||||||
assert crd.last_update_success is True
|
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 = []
|
updates = []
|
||||||
|
|
||||||
@ -50,6 +52,7 @@ async def test_async_refresh(crd):
|
|||||||
unsub = crd.async_add_listener(update_callback)
|
unsub = crd.async_add_listener(update_callback)
|
||||||
await crd.async_refresh()
|
await crd.async_refresh()
|
||||||
assert updates == [2]
|
assert updates == [2]
|
||||||
|
assert crd._unsub_refresh is not None
|
||||||
|
|
||||||
# Test unsubscribing through function
|
# Test unsubscribing through function
|
||||||
unsub()
|
unsub()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user