def setup_sleep_and_timeout()

in src/health_runner/health_runner.py [0:0]


def setup_sleep_and_timeout() -> tuple[int, int]:
  """Returns the sleep time and timeout in minutes based on environment variables."""
  # Time to poll for HC jobs to complete
  sleep_time: int = int(os.environ.get("SLEEP_TIME_MINUTES", 10))
  # Time to wait for full HR to complete
  # Give enough time for HC + extra time for launch & cleanup
  timeout_time: int = int(os.environ.get("TIMEOUT_MINUTES", sleep_time + 5))
  rlevel: str = os.environ.get("HC_ENV_R_LEVEL", "1")

  adjust_sleep_time: str = os.environ.get("ADJUST_SLEEP_TIME", "false")
  if adjust_sleep_time == "false":
    return sleep_time, timeout_time
  # Adjusting sleep time and timeout time based on R-level
  if rlevel in _SLEEP_TIME_MINUTES_BY_R_LEVEL:
    sleep_time = _SLEEP_TIME_MINUTES_BY_R_LEVEL[rlevel]
    timeout_time = max(timeout_time, sleep_time + 5)
    logging.info(
        "Due to R-level, Sleep time is updated to %s minutes and Timeout time"
        " is updated to %s minutes",
        sleep_time,
        timeout_time,
    )
  return sleep_time, timeout_time