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: Queue.Declare RPC completion callback.
  In this method the queue and exchange are bound together
  with the routing key by issuing the Queue.Bind
  RPC command.
  
  The completion callback is the _on_bindok method.
  
  :param pika.frame.Method method_frame: The Queue.DeclareOk frame
docstr_tok: ["Queue.Declare","RPC","completion","callback",".","In","this","method","the","queue","and","exchange","are","bound","together","with","the","routing","key","by","issuing","the","Queue.Bind","RPC","command",".","The","completion","callback","is","the","_on_bindok","method",".",":","param","pika.frame.Method","method_frame",":","The","Queue.DeclareOk","frame"]
code: def _on_queue_declareok(self, method_frame):
      """
      Queue.Declare RPC completion callback.
      In this method the queue and exchange are bound together
      with the routing key by issuing the Queue.Bind
      RPC command.
  
      The completion callback is the _on_bindok method.
  
      :param pika.frame.Method method_frame: The Queue.DeclareOk frame
  
      """
      _ = method_frame
      self._logger.info(
          "binding %s to queue %s with %s",
          self._exchange,
          self._queue,
          self._routing_key,
      )
      with self._rmq_lock:
          self._channel.queue_bind(
              self._queue,
              self._exchange,
              routing_key=self._routing_key,
              callback=self._on_bindok,
          )
  
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 20 for calling the RMQueue obj's underlying member method code with example usage: obj._on_queue_declareok(method_frame) without return types