From 4d82ea516a55deb64fc8fecca94c6b4231df440e Mon Sep 17 00:00:00 2001 From: Martin Hjelmare Date: Tue, 5 Mar 2024 18:47:35 +0100 Subject: [PATCH] Add comments why we use loop.create_task in core (#112372) --- homeassistant/core.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/homeassistant/core.py b/homeassistant/core.py index e1bd5750c16..1fbdb91cfb6 100644 --- a/homeassistant/core.py +++ b/homeassistant/core.py @@ -605,6 +605,8 @@ class HomeAssistant: hassjob.target = cast( Callable[..., Coroutine[Any, Any, _R]], hassjob.target ) + # Use loop.create_task + # to avoid the extra function call in asyncio.create_task. task = self.loop.create_task(hassjob.target(*args), name=hassjob.name) elif hassjob.job_type is HassJobType.Callback: if TYPE_CHECKING: @@ -649,6 +651,8 @@ class HomeAssistant: if task.done(): return task else: + # Use loop.create_task + # to avoid the extra function call in asyncio.create_task. task = self.loop.create_task(target, name=name) self._tasks.add(task) task.add_done_callback(self._tasks.remove) @@ -671,6 +675,8 @@ class HomeAssistant: if task.done(): return task else: + # Use loop.create_task + # to avoid the extra function call in asyncio.create_task. task = self.loop.create_task(target, name=name) self._background_tasks.add(task) task.add_done_callback(self._background_tasks.remove)