@@ -384,7 +384,7 @@ def __wakeup(self, future):
384
384
Task = _CTask = _asyncio .Task
385
385
386
386
387
- def create_task (coro , * , name = None , context = None ):
387
+ def create_task (coro , * , name = None , context = None , eager_start = None ):
388
388
"""Schedule the execution of a coroutine object in a spawn task.
389
389
390
390
Return a Task object.
@@ -393,8 +393,10 @@ def create_task(coro, *, name=None, context=None):
393
393
if context is None :
394
394
# Use legacy API if context is not needed
395
395
task = loop .create_task (coro , name = name )
396
- else :
396
+ elif eager_start is None :
397
397
task = loop .create_task (coro , name = name , context = context )
398
+ else :
399
+ task = loop .create_task (coro , name = name , context = context , eager_start )
398
400
399
401
return task
400
402
@@ -1008,9 +1010,11 @@ def create_eager_task_factory(custom_task_constructor):
1008
1010
used. E.g. `loop.set_task_factory(asyncio.eager_task_factory)`.
1009
1011
"""
1010
1012
1011
- def factory (loop , coro , * , name = None , context = None ):
1013
+ def factory (loop , coro , * , name = None , context = None , eager_start = None ):
1014
+ if eager_start is None :
1015
+ eager_start = True
1012
1016
return custom_task_constructor (
1013
- coro , loop = loop , name = name , context = context , eager_start = True )
1017
+ coro , loop = loop , name = name , context = context , eager_start = eager_start )
1014
1018
1015
1019
return factory
1016
1020
0 commit comments