code: def _get_queue_for_the_action(self, action):
          
          # get the module name, if not, take fork
          mod = getattr(action, 'module_type', 'fork')
          queues = list(self.q_by_mod[mod].items())
  
          # Maybe there is no more queue, it's very bad!
          if not queues:
              return (0, None)
  
          # if not get action round robin index to get action queue based
          # on the action id
          self.rr_qid = (self.rr_qid + 1) % len(queues)
          (worker_id, queue) = queues[self.rr_qid]
  
          # return the id of the worker (i), and its queue
          return (worker_id, queue)
docs: Find action queue for the action depending on the module.
          The id is found with action modulo on action id
  
          :param a: the action that need action queue to be assigned
          :type action: object
          :return: worker id and queue. (0, None) if no queue for the module_type
          :rtype: tuple