code: def __init__(self, repo: Repo):
      self.repo_path = repo.path
      self.repo = repo
      self.progress_dir = Path(self.repo_path) / "meta" / "progress"
      self.progress_dir.mkdir(parents=True, exist_ok=True)
  
      self.heartbeat_dir = Path(self.repo_path) / "check_ins"
      self.run_heartbeat_cache = {}
  
      self._indexing_in_progress = False
      self._reindex_thread: Thread = None
  
imports: import contextlib
  import time
  import datetime
  import pytz
  import logging
  import os
  from threading import Thread
  from pathlib import Path
  from typing import Iterable
  from aim.sdk.repo import Repo
  from aim.sdk.run_status_watcher import Event
  from aim.storage.locking import RefreshLock
label_desc: Use image node_id 2 to create a new RepoIndexManager object  with example: obj = RepoIndexManager(repo)