code: def _send(
          self, destination, message, headers=None, delay=None, expiration=None, **kwargs
      ):
          
          if not headers:
              headers = {}
          if "persistent" not in headers:
              headers["persistent"] = "true"
          if delay:
              # The 'delay' mechanism is only supported when
              # schedulerSupport is enabled on the broker.
              headers["AMQ_SCHEDULED_DELAY"] = int(1000 * delay)
          if expiration:
              headers["expires"] = int((time.time() + expiration) * 1000)
          if kwargs.get("ignore_namespace"):
              destination = "/queue/" + destination
          else:
              destination = "/queue/" + self._namespace + destination
          try:
              self._conn.send(destination, message, headers=headers, **kwargs)
          except stomp.exception.NotConnectedException:
              self._connected = False
              raise workflows.Disconnected("No connection to stomp host")
docs: Send a message to a queue.
          :param destination: Queue name to send to
          :param message: A string to be sent
          :param **kwargs: Further parameters for the transport layer. For example
            delay:            Delay transport of message by this many seconds
            expiration:       Optional expiration time, relative to sending time
            headers:          Optional dictionary of header entries
            ignore_namespace: Do not apply namespace to the destination name
            persistent:       Whether to mark messages as persistent, to be kept
                              between broker restarts. Default is 'true'.
            transaction:      Transaction ID if message should be part of a
                              transaction