mirror of
https://github.com/python/cpython.git
synced 2025-08-26 11:45:20 +00:00
gh-128307: Support eager_start=<bool> in create_eager_task_factory and various create_task functions (#128306)
Some create_task() functions were changed from `name=None, context=None` to `**kwargs`. Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
This commit is contained in:
parent
c4cc5d58ae
commit
08d7687094
7 changed files with 85 additions and 19 deletions
|
@ -386,19 +386,13 @@ else:
|
|||
Task = _CTask = _asyncio.Task
|
||||
|
||||
|
||||
def create_task(coro, *, name=None, context=None):
|
||||
def create_task(coro, **kwargs):
|
||||
"""Schedule the execution of a coroutine object in a spawn task.
|
||||
|
||||
Return a Task object.
|
||||
"""
|
||||
loop = events.get_running_loop()
|
||||
if context is None:
|
||||
# Use legacy API if context is not needed
|
||||
task = loop.create_task(coro, name=name)
|
||||
else:
|
||||
task = loop.create_task(coro, name=name, context=context)
|
||||
|
||||
return task
|
||||
return loop.create_task(coro, **kwargs)
|
||||
|
||||
|
||||
# wait() and as_completed() similar to those in PEP 3148.
|
||||
|
@ -1030,9 +1024,9 @@ def create_eager_task_factory(custom_task_constructor):
|
|||
used. E.g. `loop.set_task_factory(asyncio.eager_task_factory)`.
|
||||
"""
|
||||
|
||||
def factory(loop, coro, *, name=None, context=None):
|
||||
def factory(loop, coro, *, eager_start=True, **kwargs):
|
||||
return custom_task_constructor(
|
||||
coro, loop=loop, name=name, context=context, eager_start=True)
|
||||
coro, loop=loop, eager_start=eager_start, **kwargs)
|
||||
|
||||
return factory
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue