original_docstring: 
          Publishes the given message to the desired exchange with the desired routing key
          :param message: Message to publish
          :param routing_key: Routing key to send the message with, defaults to the publisher's
          :param mandatory: Whether or not the message is mandatory
          :param immediate: Whether or not the message should be immediate
          :param timeout: Publish timeout
          
docstring: Publishes the given message to the desired exchange with the desired routing key
docstring_tokens: Publishes the given message to the desired exchange with the desired routing key
code: async def publish(self,
                        message: Message,
                        routing_key: str = None,
                        mandatory: bool = True,
                        immediate: bool = False,
                        timeout: Union[int, float, None] = None) -> None:
          """
          Publishes the given message to the desired exchange with the desired routing key
          :param message: Message to publish
          :param routing_key: Routing key to send the message with, defaults to the publisher's
          :param mandatory: Whether or not the message is mandatory
          :param immediate: Whether or not the message should be immediate
          :param timeout: Publish timeout
          """
          await self._prepare_publish()
          publish_exception = await self._publish_message(
              exchange=self._exchange,
              message=message,
              routing_key=routing_key or self._routing_key,
              mandatory=mandatory,
              immediate=immediate,
              timeout=timeout
          )
          if publish_exception:
              await self.channel_config.close_channel(publish_exception)
              await self.publish(message, routing_key, mandatory, immediate, timeout)
code_tokens: async def publish ( self , message : Message , routing_key : str = None , mandatory : bool = True , immediate : bool = False , timeout : Union [ int , float , None ] = None ) -> None : await self . _prepare_publish ( ) publish_exception = await self . _publish_message ( exchange = self . _exchange , message = message , routing_key = routing_key or self . _routing_key , mandatory = mandatory , immediate = immediate , timeout = timeout ) if publish_exception : await self . channel_config . close_channel ( publish_exception ) await self . publish ( message , routing_key , mandatory , immediate , timeout )
short_docstring: Publishes the given message to the desired exchange with the desired routing key
short_docstring_tokens: Publishes the given message to the desired exchange with the desired routing key
comment: """
          Publishes the given message to the desired exchange with the desired routing key
          :param message: Message to publish
          :param routing_key: Routing key to send the message with, defaults to the publisher's
          :param mandatory: Whether or not the message is mandatory
          :param immediate: Whether or not the message should be immediate
          :param timeout: Publish timeout
          """