class_docstr: This is where tuners and assessors are not defined yet.
  Inherits this class to make your own advisor.
  
  .. note::
  
      The class inheriting MsgDispatcherBase should be instantiated
      after nnimanager (rest server) is started, so that the object
      is ready to use right after its instantiation.
class_docstr_tok: ["This","is","where","tuners","and","assessors","are","not","defined","yet",".","Inherits","this","class","to","make","your","own","advisor",".","..","note",":",":","The","class","inheriting","MsgDispatcherBase","should","be","instantiated","after","nnimanager","(","rest","server",")","is","started",",","so","that","the","object","is","ready","to","use","right","after","its","instantiation","."]
docstr: Process commands in command queues.
          
docstr_tok: ["Process","commands","in","command","queues","."]
code: def command_queue_worker(self, command_queue):
      """Process commands in command queues."""
      while True:
          try:
              # set timeout to ensure self.stopping is checked periodically
              command, data = command_queue.get(timeout=3)
              try:
                  self.process_command(command, data)
              except Exception as e:
                  _logger.exception(e)
                  self.worker_exceptions.append(e)
                  break
          except Empty:
              pass
          if self.stopping and (
              _worker_fast_exit_on_terminate or command_queue.empty()
          ):
              break
  
imports: import threading
  import logging
  from queue import Queue, Empty
  from .env_vars import dispatcher_env_vars
  from ..common import load
  from ..recoverable import Recoverable
  from .tuner_command_channel import CommandType, TunerCommandChannel
label_desc: Use image node_id 5 for calling the MsgDispatcherBase obj's underlying member method code with example usage: obj.command_queue_worker(command_queue) without return types