mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	gh-97696 Remove unnecessary check for eager_start kwarg (#104188)
Instead, add docstring to create_eager_task_factory.
This commit is contained in:
		
							parent
							
								
									faf196213e
								
							
						
					
					
						commit
						bf89d4283a
					
				
					 1 changed files with 17 additions and 4 deletions
				
			
		|  | @ -942,18 +942,31 @@ def callback(): | |||
| 
 | ||||
| 
 | ||||
| def create_eager_task_factory(custom_task_constructor): | ||||
|     """Create a function suitable for use as a task factory on an event-loop. | ||||
| 
 | ||||
|     if "eager_start" not in inspect.signature(custom_task_constructor).parameters: | ||||
|         raise TypeError( | ||||
|             "Provided constructor does not support eager task execution") | ||||
| 	    Example usage: | ||||
| 
 | ||||
| 	        loop.set_task_factory( | ||||
| 	            asyncio.create_eager_task_factory(my_task_constructor)) | ||||
| 
 | ||||
| 	    Now, tasks created will be started immediately (rather than being first | ||||
| 	    scheduled to an event loop). The constructor argument can be any callable | ||||
| 	    that returns a Task-compatible object and has a signature compatible | ||||
| 	    with `Task.__init__`; it must have the `eager_start` keyword argument. | ||||
| 
 | ||||
| 	    Most applications will use `Task` for `custom_task_constructor` and in | ||||
|         this case there's no need to call `create_eager_task_factory()` | ||||
|         directly. Instead the  global `eager_task_factory` instance can be | ||||
|         used. E.g. `loop.set_task_factory(asyncio.eager_task_factory)`. | ||||
| 	    """ | ||||
| 
 | ||||
|     def factory(loop, coro, *, name=None, context=None): | ||||
|         return custom_task_constructor( | ||||
|             coro, loop=loop, name=name, context=context, eager_start=True) | ||||
| 
 | ||||
| 
 | ||||
|     return factory | ||||
| 
 | ||||
| 
 | ||||
| eager_task_factory = create_eager_task_factory(Task) | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Jacob Bower
						Jacob Bower