From 23436a1fd5151f5d643bf159187f3779f590e671 Mon Sep 17 00:00:00 2001 From: Richard Ipsum Date: Tue, 22 Apr 2014 19:27:13 +0100 Subject: InitiatorConnection: Handle _step_already_started --- distbuild/initiator_connection.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'distbuild') diff --git a/distbuild/initiator_connection.py b/distbuild/initiator_connection.py index 34f2bdaa..b3769d7c 100644 --- a/distbuild/initiator_connection.py +++ b/distbuild/initiator_connection.py @@ -81,6 +81,9 @@ class InitiatorConnection(distbuild.StateMachine): 'idle', self._send_build_steps_message), ('idle', distbuild.BuildController, distbuild.BuildStepStarted, 'idle', self._send_build_step_started_message), + ('idle', distbuild.BuildController, + distbuild.BuildStepAlreadyStarted, 'idle', + self._send_build_step_already_started_message), ('idle', distbuild.BuildController, distbuild.BuildOutput, 'idle', self._send_build_output_message), ('idle', distbuild.BuildController, distbuild.BuildStepFinished, @@ -113,7 +116,6 @@ class InitiatorConnection(distbuild.StateMachine): self.initiator_name, str(id)) self.mainloop.queue_event(InitiatorConnection, InitiatorDisconnect(id)) - # TODO should this clear our_ids? self.mainloop.queue_event(self, _Close(event_source)) def _close(self, event_source, event): @@ -183,6 +185,9 @@ class InitiatorConnection(distbuild.StateMachine): self._log_send(msg) def _send_build_step_started_message(self, event_source, event): + logging.debug('InitiatorConnection: build_step_started: ' + 'id=%s step_name=%s worker_name=%s' % + (event.id, event.step_name, event.worker_name)) if event.id in self.our_ids: msg = distbuild.message('step-started', id=self._route_map.get_incoming_id(event.id), @@ -191,6 +196,19 @@ class InitiatorConnection(distbuild.StateMachine): self.jm.send(msg) self._log_send(msg) + def _send_build_step_already_started_message(self, event_source, event): + logging.debug('InitiatorConnection: build_step_already_started: ' + 'id=%s step_name=%s worker_name=%s' % (event.id, event.step_name, + event.worker_name)) + + if event.id in self.our_ids: + msg = distbuild.message('step-already-started', + id=self._route_map.get_incoming_id(event.id), + step_name=event.step_name, + worker_name=event.worker_name) + self.jm.send(msg) + self._log_send(msg) + def _send_build_output_message(self, event_source, event): logging.debug('InitiatorConnection: build_output: ' 'id=%s stdout=%s stderr=%s' % @@ -205,6 +223,8 @@ class InitiatorConnection(distbuild.StateMachine): self._log_send(msg) def _send_build_step_finished_message(self, event_source, event): + logging.debug('heard built step finished: event.id: %s our_ids: %s' + % (str(event.id), str(self.our_ids))) if event.id in self.our_ids: msg = distbuild.message('step-finished', id=self._route_map.get_incoming_id(event.id), -- cgit v1.2.1