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