mirror of
https://github.com/home-assistant/core.git
synced 2025-07-07 21:37:07 +00:00
Add comments why we use loop.create_task in core (#112372)
This commit is contained in:
parent
017b2623e8
commit
4d82ea516a
@ -605,6 +605,8 @@ class HomeAssistant:
|
|||||||
hassjob.target = cast(
|
hassjob.target = cast(
|
||||||
Callable[..., Coroutine[Any, Any, _R]], hassjob.target
|
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)
|
task = self.loop.create_task(hassjob.target(*args), name=hassjob.name)
|
||||||
elif hassjob.job_type is HassJobType.Callback:
|
elif hassjob.job_type is HassJobType.Callback:
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
@ -649,6 +651,8 @@ class HomeAssistant:
|
|||||||
if task.done():
|
if task.done():
|
||||||
return task
|
return task
|
||||||
else:
|
else:
|
||||||
|
# Use loop.create_task
|
||||||
|
# to avoid the extra function call in asyncio.create_task.
|
||||||
task = self.loop.create_task(target, name=name)
|
task = self.loop.create_task(target, name=name)
|
||||||
self._tasks.add(task)
|
self._tasks.add(task)
|
||||||
task.add_done_callback(self._tasks.remove)
|
task.add_done_callback(self._tasks.remove)
|
||||||
@ -671,6 +675,8 @@ class HomeAssistant:
|
|||||||
if task.done():
|
if task.done():
|
||||||
return task
|
return task
|
||||||
else:
|
else:
|
||||||
|
# Use loop.create_task
|
||||||
|
# to avoid the extra function call in asyncio.create_task.
|
||||||
task = self.loop.create_task(target, name=name)
|
task = self.loop.create_task(target, name=name)
|
||||||
self._background_tasks.add(task)
|
self._background_tasks.add(task)
|
||||||
task.add_done_callback(self._background_tasks.remove)
|
task.add_done_callback(self._background_tasks.remove)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user