class_docstr: An RPC server to create and delete runtime envs.
  
  Attributes:
      dashboard_agent: The DashboardAgent object contains global config.
class_docstr_tok: ["An","RPC","server","to","create","and","delete","runtime","envs",".","Attributes",":","dashboard_agent",":","The","DashboardAgent","object","contains","global","config","."]
code: def unused_runtime_env_processor(
      self, unused_runtime_env: str
  ) -> None:
      def delete_runtime_env():
          del self._env_cache[unused_runtime_env]
          self._logger.info(
              "Runtime env %s removed from env-level cache.",
              unused_runtime_env,
          )
  
      if unused_runtime_env in self._env_cache:
          if not self._env_cache[unused_runtime_env].success:
              loop = get_or_create_event_loop()
              # Cache the bad runtime env result by ttl seconds.
              loop.call_later(
                  runtime_env_consts.BAD_RUNTIME_ENV_CACHE_TTL_SECONDS,
                  delete_runtime_env,
              )
          else:
              delete_runtime_env()
  
imports: import asyncio
  import json
  import logging
  import os
  import time
  import traceback
  from collections import defaultdict
  from dataclasses import dataclass
  from typing import Callable, Dict, List, Set, Tuple
  from ray._private.ray_constants import DEFAULT_RUNTIME_ENV_TIMEOUT_SECONDS
  import ray._private.runtime_env.agent.runtime_env_consts
  from ray._private.ray_logging import setup_component_logger
  from ray._private.runtime_env.conda import CondaPlugin
  from ray._private.runtime_env.container import ContainerManager
  from ray._private.runtime_env.context import RuntimeEnvContext
  from ray._private.runtime_env.java_jars import JavaJarsPlugin
  from ray._private.runtime_env.pip import PipPlugin
  from ray._private.gcs_utils import GcsAioClient
  from ray._private.runtime_env.plugin import RuntimeEnvPlugin, create_for_plugin_if_needed
  from ray._private.utils import get_or_create_event_loop
  from ray._private.runtime_env.plugin import RuntimeEnvPluginManager
  from ray._private.runtime_env.py_modules import PyModulesPlugin
  from ray._private.runtime_env.working_dir import WorkingDirPlugin
  from ray._private.runtime_env.nsight import NsightPlugin
  from ray._private.runtime_env.mpi import MPIPlugin
  from ray.core.generated import runtime_env_agent_pb2, agent_manager_pb2
  from ray.core.generated.runtime_env_common_pb2 import RuntimeEnvState
  from ray.runtime_env import RuntimeEnv, RuntimeEnvConfig
label_desc: Use image node_id 4 for calling the RuntimeEnvAgent obj's underlying member method code with example usage: obj.unused_runtime_env_processor(unused_runtime_env) without return types