Skip to content

Commit 2c6fb5c

Browse files
authored
Use RepresentationMixin for monitoring radios (#3989)
Example log line before this PR: ``` 1754833115.230316 2025-08-10 13:38:35 MainProcess-22207 MainThread-140347870947136 parsl.dataflow.dflow:1143 add_executors DEBUG: Starting monitoring receiver for executor htex_Local with remote monitoring radio config <parsl.monitoring.radios.htex.HTEXRadio object at 0x7fa53b956db0> ``` After this PR: ``` 1754833488.999064 2025-08-10 13:44:48 MainProcess-25293 MainThread-139640816629568 parsl.dataflow.dflow:1143 add_executors DEBUG: Starting monitoring receiver for executor htex_Local with remote monitoring radio config HTEXRadio() ``` # Changed Behaviour clearer log output ## Type of change - Update to human readable text: Documentation/error messages/comments
1 parent 0d4a261 commit 2c6fb5c

File tree

4 files changed

+8
-4
lines changed

4 files changed

+8
-4
lines changed

parsl/monitoring/radios/filesystem.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@
1010
RadioConfig,
1111
)
1212
from parsl.monitoring.radios.filesystem_router import FilesystemRadioReceiver
13+
from parsl.utils import RepresentationMixin
1314

1415
logger = logging.getLogger(__name__)
1516

1617

17-
class FilesystemRadio(RadioConfig):
18+
class FilesystemRadio(RadioConfig, RepresentationMixin):
1819
"""A MonitoringRadioSender that sends messages over a shared filesystem.
1920
2021
The messsage directory structure is based on maildir,

parsl/monitoring/radios/htex.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
MonitoringRadioSender,
88
RadioConfig,
99
)
10+
from parsl.utils import RepresentationMixin
1011

1112
logger = logging.getLogger(__name__)
1213

1314

14-
class HTEXRadio(RadioConfig):
15+
class HTEXRadio(RadioConfig, RepresentationMixin):
1516
def create_sender(self) -> MonitoringRadioSender:
1617
return HTEXRadioSender()
1718

parsl/monitoring/radios/multiprocessing.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@
55
MonitoringRadioSender,
66
RadioConfig,
77
)
8+
from parsl.utils import RepresentationMixin
89

910

10-
class MultiprocessingQueueRadioSender(MonitoringRadioSender):
11+
class MultiprocessingQueueRadioSender(MonitoringRadioSender, RepresentationMixin):
1112
"""A monitoring radio which connects over a multiprocessing Queue.
1213
This radio is intended to be used on the submit side, where components
1314
in the submit process, or processes launched by multiprocessing, will have

parsl/monitoring/radios/udp.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@
1313
RadioConfig,
1414
)
1515
from parsl.monitoring.radios.udp_router import start_udp_receiver
16+
from parsl.utils import RepresentationMixin
1617

1718
logger = logging.getLogger(__name__)
1819

1920

20-
class UDPRadio(RadioConfig):
21+
class UDPRadio(RadioConfig, RepresentationMixin):
2122
def __init__(self, *, port: Optional[int] = None, atexit_timeout: int = 3, address: str, debug: bool = False, hmac_digest: str = 'sha512'):
2223
self.port = port
2324
self.atexit_timeout = atexit_timeout

0 commit comments

Comments
 (0)