code: def _run(self, index):
          
          while 1:
              try:
                  item = self._queue.get(timeout=2)
                  self.process_item(item)
              except Queue.Empty:
                  break
              except Exception as err:
                  _log.error("In _run(): {}".format(err))
                  if _log.isEnabledFor(logging.DEBUG):
                      _log.error(traceback.format_exc())
                  self._status.fail(index)
                  raise
          self._status.success(index)
docs: Run method for one thread or process
          Just pull an item off the queue and process it,
          until the queue is empty.
  
          :param index: Sequential index of this process or thread
          :type index: int