logging_support

class pyrosetta.distributed.cluster.logging_support.RedirectToLogger(level: int)

Bases: object

Redirect stdout and stderr to a logging sink.

__init__(level: int) → None

Instantiate buffer for the root logger and a logging level.

write(msg: str) → int

Write logging buffer.

flush() → None

Flush logging buffer.

class pyrosetta.distributed.cluster.logging_support.LoggingSupport

Bases: object

Supporting logging methods for PyRosettaCluster.

__init__() → None

Log warnings from the warnings module.

_setup_logger() → None

Open the logger for the head node process.

_close_logger() → None

Close the logger for the head node process.

_setup_socket_listener(clients: Dict[int, Client]) → Tuple[Tuple[str, int], bytes]

Setup logging socket listener.

_register_socket_logger_plugin(clients: Dict[int, Client]) → None

Register SocketLoggerPlugin as a dask worker plugin on dask clients.

_close_socket_listener(clients: Dict[int, Client]) → None

Close logging socket listener.

_close_socket_logger_plugins(clients: Dict[int, Client]) → None

Purge cached logging socket addresses on all dask workers.

_cooldown() → None

Sleep based on the cooldown_time instance attribute.

pyrosetta.distributed.cluster.logging_support.purge_socket_logger_plugin_address(socket_listener_address: Tuple[str, int], dask_worker: Worker) → None

Close and remove an item from the worker logger plugin router.

pyrosetta.distributed.cluster.logging_support.setup_target_logger(protocol_name: str, socket_listener_address: Tuple[str, int], masked_key: bytes, task_id: str, logging_level: str) → Tuple[RootLogger, SocketHandler, List[Filter]]

Setup socket logging handler.

pyrosetta.distributed.cluster.logging_support.close_target_logger(logger: RootLogger, socket_handler: SocketHandler, filters: List[Filter]) → None

Teardown socket logging handler.

pyrosetta.distributed.cluster.logging_support.setup_target_logging(func: CallableType) → CallableType

Support logging from a billiard subprocess.

pyrosetta.distributed.cluster.logging_support.get_worker_logger(protocol_name: str, socket_listener_address: Tuple[str, int], task_id: str) → LoggerAdapter

Get a Dask worker logger adapter.

pyrosetta.distributed.cluster.logging_support.setup_worker_logging(func: CallableType) → CallableType

Support logging from a Dask worker.