parsl.monitoring.MonitoringHub

class parsl.monitoring.MonitoringHub(hub_address: str, hub_port: int | None = None, hub_port_range: Tuple[int, int] = (55050, 56000), workflow_name: str | None = None, workflow_version: str | None = None, logging_endpoint: str | None = None, logdir: str | None = None, monitoring_debug: bool = False, resource_monitoring_enabled: bool = True, resource_monitoring_interval: float = 30)[source]
__init__(hub_address: str, hub_port: int | None = None, hub_port_range: Tuple[int, int] = (55050, 56000), workflow_name: str | None = None, workflow_version: str | None = None, logging_endpoint: str | None = None, logdir: str | None = None, monitoring_debug: bool = False, resource_monitoring_enabled: bool = True, resource_monitoring_interval: float = 30)[source]
Parameters:
  • hub_address (str) – The ip address at which the workers will be able to reach the Hub.

  • hub_port (int) – The UDP port to which workers will be able to deliver messages to the monitoring router. Note that despite the similar name, this is not related to hub_port_range. Default: None

  • hub_port_range (tuple(int, int)) – The port range for a ZMQ channel from an executor process (for example, the interchange in the High Throughput Executor) to deliver monitoring messages to the monitoring router. Note that despite the similar name, this is not related to hub_port. Default: (55050, 56000)

  • workflow_name (str) – The name for the workflow. Default to the name of the parsl script

  • workflow_version (str) – The version of the workflow. Default to the beginning datetime of the parsl script

  • logging_endpoint (str) – The database connection url for monitoring to log the information. These URLs follow RFC-1738, and can include username, password, hostname, database name. Default: sqlite, in the configured run_dir.

  • logdir (str) – Parsl log directory paths. Logs and temp files go here. Default: ‘.’

  • monitoring_debug (Bool) – Enable monitoring debug logging. Default: False

  • resource_monitoring_enabled (boolean) – Set this field to True to enable logging of information from the worker side. This will include environment information such as start time, hostname and block id, along with periodic resource usage of each task. Default: True

  • resource_monitoring_interval (float) – The time interval, in seconds, at which the monitoring records the resource usage of each task. If set to 0, only start and end information will be logged, and no periodic monitoring will be made. Default: 30 seconds

Methods

__init__(hub_address[, hub_port, ...])

param hub_address:

The ip address at which the workers will be able to reach the Hub.

close()

monitor_wrapper(f, args, kwargs, try_id, ...)

send(mtype, message)

start(run_id, dfk_run_dir, config_run_dir)

close() None[source]
static monitor_wrapper(f: Any, args: Sequence, kwargs: Dict, try_id: int, task_id: int, monitoring_hub_url: str, run_id: str, logging_level: int, sleep_dur: float, radio_mode: str, monitor_resources: bool, run_dir: str) Tuple[Callable, Sequence, Dict][source]
send(mtype: MessageType, message: Any) None[source]
start(run_id: str, dfk_run_dir: str, config_run_dir: str | PathLike) int[source]