code: def publish(self, routing_key, exchange='', mandatory=False,
                  immediate=False):
          
          return self._channel.basic.publish(body=self._body,
                                             routing_key=routing_key,
                                             exchange=exchange,
                                             properties=self._properties,
                                             mandatory=mandatory,
                                             immediate=immediate)
docs: Publish Message.
  
          :param str routing_key: Message routing key
          :param str exchange: The exchange to publish the message to
          :param bool mandatory: Requires the message is published
          :param bool immediate: Request immediate delivery
  
          :raises AMQPInvalidArgument: Invalid Parameters
          :raises AMQPChannelError: Raises if the channel encountered an error.
          :raises AMQPConnectionError: Raises if the connection
                                       encountered an error.
  
          :rtype: bool|None