<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _action_get(self, ids):
 """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 """

        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