diff --git a/LCS/Messaging/python/messaging/messagebus.py b/LCS/Messaging/python/messaging/messagebus.py index e764b59612037f813baac86ae83d84d9cc4437dd..5223b0102f876d4cb76e4c5e1f4691fa0fd33fbe 100644 --- a/LCS/Messaging/python/messaging/messagebus.py +++ b/LCS/Messaging/python/messaging/messagebus.py @@ -237,20 +237,17 @@ class FromBus(_AbstractBus): """ Receive the next message from any of the queues we're listening on. :param timeout: maximum time in seconds to wait for a message. - :param logDebugMessages: OBSOLETE :return: received message, None if timeout occurred. """ - if logDebugMessages: - # TODO: remove parameter logDebugMessages, and check usages. - logger.warning("[FromBus] ignoring obsolete parameter 'logDebugMessages' in method receive()") - if logDebugMessages: logger.debug("[FromBus] Waiting %s seconds for next message", timeout) + try: while True: # break when message is acceptable msg = self._receiver.receive(timeout=timeout) if msg is not None: - logger.debug("[FromBus] Message received on: %s subject: %s" % (self.address, msg.subject)) + if logDebugMessages: + logger.debug("[FromBus] Message received on: %s subject: %s" % (self.address, msg.subject)) break # handle this message except proton.Timeout: @@ -275,6 +272,7 @@ class FromBus(_AbstractBus): # convert proton/qpid msg to lofarmessage lofar_msg = MESSAGE_FACTORY.create(msg) + logger.debug("[FromBus] received %s on bus %s" % (lofar_msg, self.address)) # acknowledge the message on the broker self.ack() diff --git a/LCS/Messaging/python/messaging/messages.py b/LCS/Messaging/python/messaging/messages.py index cebd46f59928914044745ccaf266015f1121068e..7d996081d70d98473d77a42093a57dd6699792d8 100644 --- a/LCS/Messaging/python/messaging/messages.py +++ b/LCS/Messaging/python/messaging/messages.py @@ -234,18 +234,10 @@ class LofarMessage(object): print(str(self)) def __str__(self): - result = '' - for (key, value) in \ - self.__dict__['_qpid_msg'].__dict__['properties'].items(): - result += "%s: %s\n" % (key, value) - - result += "---\n" - - for key in _QPID_MESSAGE_FIELDS: - if (key != 'properties' and key in self.__dict__['_qpid_msg'].__dict__.items()): - result += "%s:%s\n" % (key, self.__dict__['_qpid_msg'].__dict__[key]) - result += "===\n" - return result + return "%s subject: %s id: %s%s" % (self.__class__.__name__, + self.subject, + self.MessageId, + (" reply_to: %s" % (self.reply_to,)) if self.reply_to else "") class EventMessage(LofarMessage): diff --git a/LCS/Messaging/python/messaging/test/t_messagebus.py b/LCS/Messaging/python/messaging/test/t_messagebus.py index 62d6644b548be86a79c56419272f13d3b0255405..fa53bf7fcea871042d28a90ff30d4c6a4b2a42f8 100644 --- a/LCS/Messaging/python/messaging/test/t_messagebus.py +++ b/LCS/Messaging/python/messaging/test/t_messagebus.py @@ -279,8 +279,8 @@ class SendReceiveMessage(unittest.TestCase): """ with self.tobus, self.frombus: self.tobus.send(send_msg) - recv_msg = self.frombus.receive(timeout=TIMEOUT) - self.frombus.ack() + recv_msg = self.frombus.receive(timeout=TIMEOUT, logDebugMessages=True) + self.assertEqual( (send_msg.SystemName, send_msg.MessageId, send_msg.MessageType), (recv_msg.SystemName, recv_msg.MessageId, recv_msg.MessageType)) @@ -375,4 +375,4 @@ class SendReceiveMessage(unittest.TestCase): if __name__ == '__main__': logging.basicConfig(format='%(asctime)s %(process)d %(levelname)s %(message)s', level=logging.INFO) - unittest.main(defaultTest='SendReceiveMessage') + unittest.main()