code: def run_app(
      config_path: str, host: str, port: int, workers: int
  ) -> None:
      config_path = os.path.abspath(
          os.path.normpath(os.path.expanduser(config_path))
      )
      with Runner(
          config_path=config_path,
          host=host,
          port=port,
          workers=workers,
      ) as runner:
          for _ in monitor_config(config_path):
              _logger.info("Configuration updated, reloading workers")
              runner.reload()
  
file_path: mlflow/mlflow/deployments/server/runner.py
imports: import logging
  import os
  import subprocess
  import sys
  from typing import Generator
  from watchfiles import watch
  from mlflow.deployments.server import app
  from mlflow.environment_variables import MLFLOW_DEPLOYMENTS_CONFIG
  from mlflow.gateway.config import _load_route_config
  from mlflow.gateway.utils import kill_child_processes
label_desc: Use image node_id 2 for calling a global function with example usage: run_app(config_path, host, port, workers) without return types