Load config entry platforms eagerly (#111498)

We can avoid one event loop iteration to start the tasks here.
pull/111574/head^2
J. Nick Koston 2024-02-26 18:55:41 -10:00 committed by GitHub
parent ce0fb1e716
commit 7d9fa2f407
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 3 additions and 2 deletions

View File

@ -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}",
)