@@ -384,17 +384,19 @@ def __wakeup(self, future):
384384 Task = _CTask = _asyncio .Task
385385
386386
387- def create_task (coro , * , name = None , context = None ):
387+ def create_task (coro , * , name = None , context = None , eager_start = None ):
388388 """Schedule the execution of a coroutine object in a spawn task.
389389
390390 Return a Task object.
391391 """
392392 loop = events .get_running_loop ()
393- if context is None :
393+ if context is None and eager_start is None :
394394 # Use legacy API if context is not needed
395395 task = loop .create_task (coro , name = name )
396- else :
396+ elif eager_start is None :
397397 task = loop .create_task (coro , name = name , context = context )
398+ else :
399+ task = loop .create_task (coro , name = name , context = context , eager_start = eager_start )
398400
399401 return task
400402
@@ -1008,9 +1010,11 @@ def create_eager_task_factory(custom_task_constructor):
10081010 used. E.g. `loop.set_task_factory(asyncio.eager_task_factory)`.
10091011 """
10101012
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
10121016 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 )
10141018
10151019 return factory
10161020
0 commit comments