diff --git a/tractor/_supervise.py b/tractor/_supervise.py index 3f381ef..ea0ecfa 100644 --- a/tractor/_supervise.py +++ b/tractor/_supervise.py @@ -11,9 +11,8 @@ import warnings import trio from async_generator import asynccontextmanager -from . import _debug from ._debug import maybe_wait_for_debugger -from ._state import current_actor, is_main_process, is_root_process +from ._state import current_actor, is_main_process from .log import get_logger, get_loglevel from ._actor import Actor from ._portal import Portal @@ -63,6 +62,7 @@ class ActorNursery: enable_modules: List[str] = None, loglevel: str = None, # set log level per subactor nursery: trio.Nursery = None, + debug_mode: Optional[bool] = None, ) -> Portal: loglevel = loglevel or self._actor.loglevel or get_loglevel() @@ -70,6 +70,10 @@ class ActorNursery: _rtv = _state._runtime_vars.copy() _rtv['_is_root'] = False + # allow setting debug policy per actor + if debug_mode is not None: + _rtv['_debug_mode'] = debug_mode + enable_modules = enable_modules or [] if rpc_module_paths: