Use eager_start for discovery listeners (#112803)

Many platforms can be loaded without having to suspend or
be scheduled on the event loop
This commit is contained in:
J. Nick Koston 2024-03-09 06:07:15 -10:00 committed by GitHub
parent 378806f1fa
commit 9ba142f4dd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -50,7 +50,9 @@ def async_listen(
@core.callback @core.callback
def _async_discovery_event_listener(discovered: DiscoveryDict) -> None: def _async_discovery_event_listener(discovered: DiscoveryDict) -> None:
"""Listen for discovery events.""" """Listen for discovery events."""
hass.async_run_hass_job(job, discovered["service"], discovered["discovered"]) hass.async_run_hass_job(
job, discovered["service"], discovered["discovered"], eager_start=True
)
async_dispatcher_connect( async_dispatcher_connect(
hass, hass,
@ -113,7 +115,9 @@ def async_listen_platform(
"""Listen for platform discovery events.""" """Listen for platform discovery events."""
if not (platform := discovered["platform"]): if not (platform := discovered["platform"]):
return return
hass.async_run_hass_job(job, platform, discovered.get("discovered")) hass.async_run_hass_job(
job, platform, discovered.get("discovered"), eager_start=True
)
return async_dispatcher_connect( return async_dispatcher_connect(
hass, hass,