diff --git a/apps/cli/utilities/wf_monitor/src/wf_monitor/monitor.py b/apps/cli/utilities/wf_monitor/src/wf_monitor/monitor.py index 899c61be8279bb3cfbb2dc1f6cd0a7bfa82c4ce2..af57f5d446cf2b6ccf2c8b4795f3a94e0f2059c4 100644 --- a/apps/cli/utilities/wf_monitor/src/wf_monitor/monitor.py +++ b/apps/cli/utilities/wf_monitor/src/wf_monitor/monitor.py @@ -239,26 +239,7 @@ def main(): # Parse command-line args args = make_arg_parser().parse_args() monitor = WorkflowMonitor(args.log_path) - with workflow_events as wfe: + decorated_send = log_decorator_factory('Sending event...')(workflow_events.send) + with workflow_events: for event in monitor.events: - wfe.send(event, WORKFLOW_STATUS_EXCH) - - # # Probably want to refactor this so that it doesn't create its own connection just for this, - # # since creating connections is expensive - # decorated_connect = log_decorator_factory('Making connection...')(make_amqp_connection) - # decorated_config_channel = log_decorator_factory('Configuring channel...')(configure_amqp_channel) - # decorated_emit = log_decorator_factory('Emitting message...')(emit_amqp_message) - # - # with decorated_connect(args.profile) as connection: - # with decorated_config_channel( - # connection=connection, - # exchange=WORKFLOW_STATUS_EXCH, - # exchange_type='topic' - # ) as channel: - # for event in monitor.events: - # decorated_emit( - # channel=channel, - # exchange=WORKFLOW_STATUS_EXCH, - # routing_key=f'{event.job_name}.{event.job_id}.{event.type.name.lower()}', - # msg=event.json() - # ) + decorated_send(event, WORKFLOW_STATUS_EXCH) diff --git a/apps/cli/utilities/wf_monitor/test/test_wf_monitor.py b/apps/cli/utilities/wf_monitor/test/test_wf_monitor.py index c60bb88c27eda31ccc550d17e8029496e8e8600a..ba724b93cadfe4b9993f2db6a34d80c30b46605a 100644 --- a/apps/cli/utilities/wf_monitor/test/test_wf_monitor.py +++ b/apps/cli/utilities/wf_monitor/test/test_wf_monitor.py @@ -80,8 +80,8 @@ def test_monitor_events(mocker: MockerFixture): ] [mocker.patch(mock) for mock in mock_list] - channel = workflow_events - for event in WorkflowMonitor(log_path).events: - channel.send(event, WORKFLOW_STATUS_EXCH) + with workflow_events as wfe: + for event in WorkflowMonitor(log_path).events: + wfe.send(event, WORKFLOW_STATUS_EXCH) - assert channel.send.call_count == 8 + assert wfe.send.call_count == 8