class_docstr: Standalone/tempdir exp queue implementation.
class_docstr_tok: ["Standalone\/tempdir","exp","queue","implementation","."]
code: def iter_active(self) -> Generator[QueueEntry, None, None]:
      # NOTE: Yielded queue entries are not complete for performance reasons.
      # Retrieving exec ref information is unavailable without doing a
      # git-fetch, and is unneeded in the common use cases for iter_active.
      for stash_rev in self.proc:
          infofile = self.get_infofile_path(stash_rev)
          executor_info = ExecutorInfo.load_json(infofile)
          if (
              executor_info.status <= TaskStatus.SUCCESS
              and os.path.exists(executor_info.root_dir)
          ):
              yield QueueEntry(
                  self.repo.root_dir,
                  self.scm.root_dir,
                  self.ref,
                  stash_rev,
                  executor_info.baseline_rev,
                  None,  # branch unavailable without doing a git-fetch
                  executor_info.name,
                  None,
              )
  
imports: import os
  from collections import defaultdict
  from typing import TYPE_CHECKING, Collection, Dict, Generator, List, Optional
  from funcy import first
  from dvc.exceptions import DvcException
  from dvc.log import logger
  from dvc.repo.experiments.exceptions import ExpQueueEmptyError
  from dvc.repo.experiments.executor.base import ExecutorInfo, TaskStatus
  from dvc.repo.experiments.executor.local import TempDirExecutor
  from dvc.repo.experiments.utils import EXEC_PID_DIR, EXEC_TMP_DIR
  from dvc.utils.objects import cached_property
  from .base import BaseStashQueue, QueueEntry, QueueGetResult
  from .utils import fetch_running_exp_from_temp_dir
  from .workspace import WorkspaceQueue
label_desc: Use image node_id 5 for calling the TempDirQueue obj's underlying member method code with example usage: obj.iter_active() without return types