Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Begin deprecation of arbiter_addr -> registry_addr #348

Merged
merged 3 commits into from
Jan 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -205,16 +205,22 @@ def sig_prog(proc, sig):


@pytest.fixture
def daemon(loglevel, testdir, arb_addr):
"""Run a daemon actor as a "remote arbiter".
"""
def daemon(
loglevel: str,
testdir,
arb_addr: tuple[str, int],
):
'''
Run a daemon actor as a "remote arbiter".

'''
if loglevel in ('trace', 'debug'):
# too much logging will lock up the subproc (smh)
loglevel = 'info'

cmdargs = [
sys.executable, '-c',
"import tractor; tractor.run_daemon([], arbiter_addr={}, loglevel={})"
"import tractor; tractor.run_daemon([], registry_addr={}, loglevel={})"
.format(
arb_addr,
"'{}'".format(loglevel) if loglevel else None)
Expand Down
56 changes: 33 additions & 23 deletions tractor/_root.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,6 @@
import logging
import os
import signal
from typing import (
Optional,
)
import typing
import warnings

Expand Down Expand Up @@ -58,27 +55,28 @@
@asynccontextmanager
async def open_root_actor(

*,
# defaults are above
arbiter_addr: Optional[tuple[str, int]] = (
_default_arbiter_host,
_default_arbiter_port,
),
arbiter_addr: tuple[str, int] | None = None,

name: Optional[str] = 'root',
# defaults are above
registry_addr: tuple[str, int] | None = None,

name: str | None = '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[_spawn.SpawnMethodKey] = None,
start_method: _spawn.SpawnMethodKey | None = None,

# enables the multi-process debugger support
debug_mode: bool = False,

# internal logging
loglevel: Optional[str] = None,
loglevel: str | None = None,

enable_modules: Optional[list] = None,
rpc_module_paths: Optional[list] = None,
enable_modules: list | None = None,
rpc_module_paths: list | None = None,

) -> typing.Any:
'''
Expand All @@ -92,7 +90,7 @@ async def open_root_actor(

# attempt to retreive ``trio``'s sigint handler and stash it
# on our debugger lock state.
_debug.Lock._trio_handler = signal.getsignal(signal.SIGINT)
_debug.Lock._trio_handler = signal.getsignal(signal.SIGINT)

# mark top most level process as root actor
_state._runtime_vars['_is_root'] = True
Expand All @@ -112,9 +110,21 @@ async def open_root_actor(
if start_method is not None:
_spawn.try_set_start_method(start_method)

arbiter_addr = (host, port) = arbiter_addr or (
_default_arbiter_host,
_default_arbiter_port,
if arbiter_addr is not None:
warnings.warn(
'`arbiter_addr` is now deprecated and has been renamed to'
'`registry_addr`.\nUse that instead..',
DeprecationWarning,
stacklevel=2,
)

registry_addr = (host, port) = (
registry_addr
or arbiter_addr
or (
_default_arbiter_host,
_default_arbiter_port,
)
)

loglevel = (loglevel or log._default_loglevel).upper()
Expand Down Expand Up @@ -160,7 +170,7 @@ async def open_root_actor(

except OSError:
# TODO: make this a "discovery" log level?
logger.warning(f"No actor could be found @ {host}:{port}")
logger.warning(f"No actor registry found @ {host}:{port}")

# create a local actor and start up its main routine/task
if arbiter_found:
Expand All @@ -170,7 +180,7 @@ async def open_root_actor(

actor = Actor(
name or 'anonymous',
arbiter_addr=arbiter_addr,
arbiter_addr=registry_addr,
loglevel=loglevel,
enable_modules=enable_modules,
)
Expand All @@ -186,7 +196,7 @@ async def open_root_actor(

actor = Arbiter(
name or 'arbiter',
arbiter_addr=arbiter_addr,
arbiter_addr=registry_addr,
loglevel=loglevel,
enable_modules=enable_modules,
)
Expand Down Expand Up @@ -251,13 +261,13 @@ def run_daemon(
enable_modules: list[str],

# runtime kwargs
name: Optional[str] = 'root',
arbiter_addr: tuple[str, int] = (
name: str | None = 'root',
registry_addr: tuple[str, int] = (
_default_arbiter_host,
_default_arbiter_port,
),

start_method: Optional[str] = None,
start_method: str | None = None,
debug_mode: bool = False,
**kwargs

Expand All @@ -279,7 +289,7 @@ def run_daemon(
async def _main():

async with open_root_actor(
arbiter_addr=arbiter_addr,
arbiter_addr=registry_addr,
name=name,
start_method=start_method,
debug_mode=debug_mode,
Expand Down