code: def _action_get(self, ids):
          
          if not ids:
              ids = self.jobs
          result = []
  
          ids = set(ids)
          while ids:
              id_ = ids.pop()
  
              if id_ is None:
                  continue
  
              try:
                  payload = r_client.get(id_)
              except ResponseError:
                  # wrong key type
                  continue
  
              try:
                  payload = self._decode(payload)
              except ValueError:
                  # unable to decode or data doesn't exist in redis
                  continue
              else:
                  result.append(payload)
  
              if payload['type'] == 'group':
                  for obj in self.traverse(id_):
                      ids.add(obj['id'])
  
          return result
docs: Get the details for ids
  
          Parameters
          ----------
          ids : {list, set, tuple, generator} of str
              The IDs to get
  
          Notes
          -----
          If ids is empty, then all IDs are returned.
  
          Returns
          -------
          list of dict
              The details of the jobs