Switch an asyncio.wait_for
in the template helper to async_timeout
(#86349)
Switch an asyncio.wait_for in the template helper to async_timeout Eliminates the extra task when calling async_render_will_timeout
This commit is contained in:
parent
2dca826fa9
commit
ca4d7634a8
1 changed files with 3 additions and 1 deletions
|
@ -24,6 +24,7 @@ from typing import Any, Literal, NoReturn, TypeVar, cast, overload
|
||||||
from urllib.parse import urlencode as urllib_urlencode
|
from urllib.parse import urlencode as urllib_urlencode
|
||||||
import weakref
|
import weakref
|
||||||
|
|
||||||
|
import async_timeout
|
||||||
from awesomeversion import AwesomeVersion
|
from awesomeversion import AwesomeVersion
|
||||||
import jinja2
|
import jinja2
|
||||||
from jinja2 import pass_context, pass_environment, pass_eval_context
|
from jinja2 import pass_context, pass_environment, pass_eval_context
|
||||||
|
@ -534,7 +535,8 @@ class Template:
|
||||||
try:
|
try:
|
||||||
template_render_thread = ThreadWithException(target=_render_template)
|
template_render_thread = ThreadWithException(target=_render_template)
|
||||||
template_render_thread.start()
|
template_render_thread.start()
|
||||||
await asyncio.wait_for(finish_event.wait(), timeout=timeout)
|
async with async_timeout.timeout(timeout):
|
||||||
|
await finish_event.wait()
|
||||||
if self._exc_info:
|
if self._exc_info:
|
||||||
raise TemplateError(self._exc_info[1].with_traceback(self._exc_info[2]))
|
raise TemplateError(self._exc_info[1].with_traceback(self._exc_info[2]))
|
||||||
except asyncio.TimeoutError:
|
except asyncio.TimeoutError:
|
||||||
|
|
Loading…
Add table
Reference in a new issue