From 7d9fa2f407a9dc060a4b32f085286376c4e483ca Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 26 Feb 2024 18:55:41 -1000 Subject: [PATCH] Load config entry platforms eagerly (#111498) We can avoid one event loop iteration to start the tasks here. --- homeassistant/config_entries.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/homeassistant/config_entries.py b/homeassistant/config_entries.py index 4aafa9ff043..81d0a6cc2b2 100644 --- a/homeassistant/config_entries.py +++ b/homeassistant/config_entries.py @@ -57,6 +57,7 @@ from .helpers.typing import UNDEFINED, ConfigType, DiscoveryInfoType, UndefinedT from .loader import async_suggest_report_issue from .setup import DATA_SETUP_DONE, async_process_deps_reqs, async_setup_component from .util import uuid as uuid_util +from .util.async_ import create_eager_task from .util.decorator import Registry if TYPE_CHECKING: @@ -1729,7 +1730,7 @@ class ConfigEntries: """Forward the setup of an entry to platforms.""" await asyncio.gather( *( - asyncio.create_task( + create_eager_task( self.async_forward_entry_setup(entry, platform), name=f"config entry forward setup {entry.title} {entry.domain} {entry.entry_id} {platform}", ) @@ -1765,7 +1766,7 @@ class ConfigEntries: return all( await asyncio.gather( *( - asyncio.create_task( + create_eager_task( self.async_forward_entry_unload(entry, platform), name=f"config entry forward unload {entry.title} {entry.domain} {entry.entry_id} {platform}", )