forked from goodboy/tractor
				
			Add deprecation warning to run()
							parent
							
								
									f05534e472
								
							
						
					
					
						commit
						723fb17394
					
				| 
						 | 
					@ -6,6 +6,7 @@ from functools import partial
 | 
				
			||||||
import importlib
 | 
					import importlib
 | 
				
			||||||
from typing import Tuple, Optional, List, Any
 | 
					from typing import Tuple, Optional, List, Any
 | 
				
			||||||
import typing
 | 
					import typing
 | 
				
			||||||
 | 
					import warnings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import trio
 | 
					import trio
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,10 +28,20 @@ logger = log.get_logger('tractor')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@asynccontextmanager
 | 
					@asynccontextmanager
 | 
				
			||||||
async def open_root_actor(
 | 
					async def open_root_actor(
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # defaults are above
 | 
				
			||||||
    arbiter_addr: Tuple[str, int],
 | 
					    arbiter_addr: Tuple[str, int],
 | 
				
			||||||
    name: Optional[str] = None,
 | 
					
 | 
				
			||||||
 | 
					    name: Optional[str] = 'root',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # either the `multiprocessing` start method:
 | 
				
			||||||
 | 
					    # https://docs.python.org/3/library/multiprocessing.html#contexts-and-start-methods
 | 
				
			||||||
 | 
					    # OR `trio` (the new default).
 | 
				
			||||||
    start_method: Optional[str] = None,
 | 
					    start_method: Optional[str] = None,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # enables the multi-process debugger support
 | 
				
			||||||
    debug_mode: bool = False,
 | 
					    debug_mode: bool = False,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    **kwargs,
 | 
					    **kwargs,
 | 
				
			||||||
) -> typing.Any:
 | 
					) -> typing.Any:
 | 
				
			||||||
    """Async entry point for ``tractor``.
 | 
					    """Async entry point for ``tractor``.
 | 
				
			||||||
| 
						 | 
					@ -75,7 +86,9 @@ async def open_root_actor(
 | 
				
			||||||
        logger.warning(f"No actor could be found @ {host}:{port}")
 | 
					        logger.warning(f"No actor could be found @ {host}:{port}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # create a local actor and start up its main routine/task
 | 
					    # create a local actor and start up its main routine/task
 | 
				
			||||||
    if arbiter_found:  # we were able to connect to an arbiter
 | 
					    if arbiter_found:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # we were able to connect to an arbiter
 | 
				
			||||||
        logger.info(f"Arbiter seems to exist @ {host}:{port}")
 | 
					        logger.info(f"Arbiter seems to exist @ {host}:{port}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        actor = Actor(
 | 
					        actor = Actor(
 | 
				
			||||||
| 
						 | 
					@ -149,9 +162,6 @@ def run(
 | 
				
			||||||
        _default_arbiter_port,
 | 
					        _default_arbiter_port,
 | 
				
			||||||
    ),
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # either the `multiprocessing` start method:
 | 
					 | 
				
			||||||
    # https://docs.python.org/3/library/multiprocessing.html#contexts-and-start-methods
 | 
					 | 
				
			||||||
    # OR `trio` (the new default).
 | 
					 | 
				
			||||||
    start_method: Optional[str] = None,
 | 
					    start_method: Optional[str] = None,
 | 
				
			||||||
    debug_mode: bool = False,
 | 
					    debug_mode: bool = False,
 | 
				
			||||||
    **kwargs,
 | 
					    **kwargs,
 | 
				
			||||||
| 
						 | 
					@ -173,6 +183,14 @@ def run(
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return await async_fn(*args)
 | 
					            return await async_fn(*args)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    warnings.warn(
 | 
				
			||||||
 | 
					        "`tractor.run()` is now deprecated. `tractor` now"
 | 
				
			||||||
 | 
					        " implicitly starts the root actor on first actor nursery"
 | 
				
			||||||
 | 
					        " use. If you want to start the root actor manually, use"
 | 
				
			||||||
 | 
					        " `tractor.open_root_actor()`.",
 | 
				
			||||||
 | 
					        DeprecationWarning,
 | 
				
			||||||
 | 
					        stacklevel=2,
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
    return trio.run(_main)
 | 
					    return trio.run(_main)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue