code: def process_messages_loop_internal(self):
          
          while self.receiving_messages:
              # connect to AMQP server and listen for 1 message then disconnect
              self.work_request = None
              self.connection.receive_loop_with_callback(self.queue_name, self.save_work_request_and_close)
              if self.work_request:
                  self.process_work_request()
docs: Busy loop that processes incoming WorkRequest messages via functions specified by add_command.
          Disconnects while servicing a message, reconnects once finished processing a message
          Terminates if a command runs shutdown method