Just import `._runtime` ns in `._root`; be a bit more explicit
							parent
							
								
									f23ee3cd22
								
							
						
					
					
						commit
						8c90521562
					
				| 
						 | 
					@ -37,13 +37,7 @@ import warnings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import trio
 | 
					import trio
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from ._runtime import (
 | 
					from . import _runtime
 | 
				
			||||||
    Actor,
 | 
					 | 
				
			||||||
    Arbiter,
 | 
					 | 
				
			||||||
    # TODO: rename and make a non-actor subtype?
 | 
					 | 
				
			||||||
    # Arbiter as Registry,
 | 
					 | 
				
			||||||
    async_main,
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
from .devx import (
 | 
					from .devx import (
 | 
				
			||||||
    debug,
 | 
					    debug,
 | 
				
			||||||
    _frame_stack,
 | 
					    _frame_stack,
 | 
				
			||||||
| 
						 | 
					@ -198,7 +192,7 @@ async def open_root_actor(
 | 
				
			||||||
    # read-only state to sublayers?
 | 
					    # read-only state to sublayers?
 | 
				
			||||||
    # extra_rt_vars: dict|None = None,
 | 
					    # extra_rt_vars: dict|None = None,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
) -> Actor:
 | 
					) -> _runtime.Actor:
 | 
				
			||||||
    '''
 | 
					    '''
 | 
				
			||||||
    Initialize the `tractor` runtime by starting a "root actor" in
 | 
					    Initialize the `tractor` runtime by starting a "root actor" in
 | 
				
			||||||
    a parent-most Python process.
 | 
					    a parent-most Python process.
 | 
				
			||||||
| 
						 | 
					@ -384,7 +378,7 @@ async def open_root_actor(
 | 
				
			||||||
                f'Registry(s) seem(s) to exist @ {ponged_addrs}'
 | 
					                f'Registry(s) seem(s) to exist @ {ponged_addrs}'
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            actor = Actor(
 | 
					            actor = _runtime.Actor(
 | 
				
			||||||
                name=name or 'anonymous',
 | 
					                name=name or 'anonymous',
 | 
				
			||||||
                uuid=mk_uuid(),
 | 
					                uuid=mk_uuid(),
 | 
				
			||||||
                registry_addrs=ponged_addrs,
 | 
					                registry_addrs=ponged_addrs,
 | 
				
			||||||
| 
						 | 
					@ -419,7 +413,8 @@ async def open_root_actor(
 | 
				
			||||||
            # https://github.com/goodboy/tractor/pull/348
 | 
					            # https://github.com/goodboy/tractor/pull/348
 | 
				
			||||||
            # https://github.com/goodboy/tractor/issues/296
 | 
					            # https://github.com/goodboy/tractor/issues/296
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            actor = Arbiter(
 | 
					            # TODO: rename as `RootActor` or is that even necessary?
 | 
				
			||||||
 | 
					            actor = _runtime.Arbiter(
 | 
				
			||||||
                name=name or 'registrar',
 | 
					                name=name or 'registrar',
 | 
				
			||||||
                uuid=mk_uuid(),
 | 
					                uuid=mk_uuid(),
 | 
				
			||||||
                registry_addrs=registry_addrs,
 | 
					                registry_addrs=registry_addrs,
 | 
				
			||||||
| 
						 | 
					@ -446,20 +441,13 @@ async def open_root_actor(
 | 
				
			||||||
                f'{ml_addrs_str}'
 | 
					                f'{ml_addrs_str}'
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # start the actor runtime in a new task
 | 
					            # start runtime in a bg sub-task, yield to caller.
 | 
				
			||||||
            async with (
 | 
					            async with (
 | 
				
			||||||
 | 
					 | 
				
			||||||
                # ?? TODO, causes test failures..
 | 
					 | 
				
			||||||
                # - advanced_faults
 | 
					 | 
				
			||||||
                # - cancellation
 | 
					 | 
				
			||||||
                # - clustering
 | 
					 | 
				
			||||||
                #
 | 
					 | 
				
			||||||
                collapse_eg(),
 | 
					                collapse_eg(),
 | 
				
			||||||
                trio.open_nursery() as root_tn,
 | 
					                trio.open_nursery() as root_tn,
 | 
				
			||||||
                # trio.open_nursery(strict_exception_groups=False) as root_tn,
 | 
					 | 
				
			||||||
            ):
 | 
					            ):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                # ``_runtime.async_main()`` creates an internal nursery
 | 
					                # `_runtime.async_main()` creates an internal nursery
 | 
				
			||||||
                # and blocks here until any underlying actor(-process)
 | 
					                # and blocks here until any underlying actor(-process)
 | 
				
			||||||
                # tree has terminated thereby conducting so called
 | 
					                # tree has terminated thereby conducting so called
 | 
				
			||||||
                # "end-to-end" structured concurrency throughout an
 | 
					                # "end-to-end" structured concurrency throughout an
 | 
				
			||||||
| 
						 | 
					@ -469,7 +457,7 @@ async def open_root_actor(
 | 
				
			||||||
                # well.
 | 
					                # well.
 | 
				
			||||||
                await root_tn.start(
 | 
					                await root_tn.start(
 | 
				
			||||||
                    partial(
 | 
					                    partial(
 | 
				
			||||||
                        async_main,
 | 
					                        _runtime.async_main,
 | 
				
			||||||
                        actor,
 | 
					                        actor,
 | 
				
			||||||
                        accept_addrs=trans_bind_addrs,
 | 
					                        accept_addrs=trans_bind_addrs,
 | 
				
			||||||
                        parent_addr=None
 | 
					                        parent_addr=None
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue