code: def __init__(
      self,
      status_reporter: RunStatusReporter,
      flag: str = "progress",
      touch_path: Optional[Path] = None,
      interval: int = REPORT_INTERVAL,
  ):
      self.status_reporter = status_reporter
      self.flag = flag
      self.touch_path = touch_path
      self.report_interval = interval
      self.throttle = 30
      self.thread = threading.Thread(target=self._run, daemon=True)
      self.stop_signal = threading.Event()
      self.thread.start()
  
imports: import math
  import time
  import queue
  import threading
  from collections import defaultdict
  from dataclasses import dataclass, field
  from pathlib import Path
  from typing import ClassVar, Dict, Optional, Tuple, Set, Union, TYPE_CHECKING
  from cachetools import LRUCache
  from aim.sdk.reporter.file_manager import FileManager
  import logging
label_desc: Use image node_id 1 to create a new ScheduledStatusReporter object from inherited base classes: object with example: obj = ScheduledStatusReporter(status_reporter, flag, touch_path, interval)