class_docstr: This publisher will handle failures and closures and will
  attempt to restart things
  
  delivery confirmations are used to track messages that have
  been sent and if they have been confirmed
docstr: This method is invoked by pika when it receives the Queue.BindOk
  response from RabbitMQ. Since we know we're now setup and bound, it's
  time to start publishing.
docstr_tok: ["This","method","is","invoked","by","pika","when","it","receives","the","Queue.BindOk","response","from","RabbitMQ",".","Since","we","know","we","'re","now","setup","and","bound",",","it's","time","to","start","publishing","."]
code: def _on_bindok(self, unused_frame):
      """This method is invoked by pika when it receives the Queue.BindOk
      response from RabbitMQ. Since we know we're now setup and bound, it's
      time to start publishing."""
      self._logger.info(
          "bound %s to queue %s with %s",
          self._exchange,
          self._queue,
          self._routing_key,
      )
      # Now underlying RMQ queue is setup: set the state flag
      self._queue_deleted = False
  
      # Send the Confirm.Select RPC method to RMQ to enable delivery
      # confirmations on the channel. The only way to turn this off is to close
      # the channel and create a new one.
      #
      # When the message is confirmed from RMQ, the
      # _on_delivery_confirmation method will be invoked passing in a Basic.Ack
      # or Basic.Nack method from RMQ that will indicate which messages it
      # is confirming or rejecting.
  
      with self._rmq_lock:
          self._channel.confirm_delivery(self._on_delivery_confirmation)
  
imports: import time
  import threading
  import pika
  from studio.storage.storage_setup import get_storage_verbose_level
  from studio.util import logs
label_desc: Use image node_id 21 for calling the RMQueue obj's underlying member method code with example usage: obj._on_bindok(unused_frame) without return types