code: def _invoke_mlflow_run_subprocess(
      work_dir,
      entry_point,
      parameters,
      experiment_id,
      env_manager,
      docker_args,
      storage_dir,
      run_id,
  ):
      """
      Run an MLflow project asynchronously by invoking ``mlflow run`` in a subprocess, returning
      a SubmittedRun that can be used to query run status.
      """
      _logger.info(
          "=== Asynchronously launching MLflow run with ID %s ===",
          run_id,
      )
      mlflow_run_arr = _build_mlflow_run_cmd(
          uri=work_dir,
          entry_point=entry_point,
          docker_args=docker_args,
          storage_dir=storage_dir,
          env_manager=env_manager,
          run_id=run_id,
          parameters=parameters,
      )
      env_vars = get_run_env_vars(run_id, experiment_id)
      env_vars.update(
          get_databricks_env_vars(mlflow.get_tracking_uri())
      )
      mlflow_run_subprocess = _run_mlflow_run_cmd(
          mlflow_run_arr, env_vars
      )
      return LocalSubmittedRun(run_id, mlflow_run_subprocess)
  
imports: import logging
  import os
  import platform
  import posixpath
  import subprocess
  import sys
  from pathlib import Path
  import mlflow
  from mlflow import tracking
  from mlflow.environment_variables import MLFLOW_KERBEROS_TICKET_CACHE, MLFLOW_KERBEROS_USER, MLFLOW_PYARROW_EXTRA_CONF
  from mlflow.exceptions import MlflowException
  from mlflow.projects import env_type
  from mlflow.projects.backend.abstract_backend import AbstractBackend
  from mlflow.projects.submitted_run import LocalSubmittedRun
  from mlflow.projects.utils import MLFLOW_DOCKER_WORKDIR_PATH, MLFLOW_LOCAL_BACKEND_RUN_ID_CONFIG, PROJECT_BUILD_IMAGE, PROJECT_DOCKER_ARGS, PROJECT_DOCKER_AUTH, PROJECT_ENV_MANAGER, PROJECT_STORAGE_DIR, PROJECT_SYNCHRONOUS, fetch_and_validate_project, get_entry_point_command, get_or_create_run, get_run_env_vars, load_project
  from mlflow.store.artifact.artifact_repository_registry import get_artifact_repository
  from mlflow.store.artifact.azure_blob_artifact_repo import AzureBlobArtifactRepository
  from mlflow.store.artifact.gcs_artifact_repo import GCSArtifactRepository
  from mlflow.store.artifact.hdfs_artifact_repo import HdfsArtifactRepository
  from mlflow.store.artifact.local_artifact_repo import LocalArtifactRepository
  from mlflow.store.artifact.s3_artifact_repo import S3ArtifactRepository
  from mlflow.utils import env_manager
  from mlflow.utils.conda import get_or_create_conda_env
  from mlflow.utils.databricks_utils import get_databricks_env_vars, is_in_databricks_runtime
  from mlflow.utils.environment import _PythonEnv
  from mlflow.utils.file_utils import get_or_create_nfs_tmp_dir
  from mlflow.utils.mlflow_tags import MLFLOW_PROJECT_ENV
  from mlflow.utils.virtualenv import _PYENV_ROOT_DIR, _VIRTUALENV_ENVS_DIR, _create_virtualenv, _get_mlflow_virtualenv_root, _get_virtualenv_extra_env_vars, _get_virtualenv_name, _install_python
label_desc: Use image node_id 2 for calling a global function with example usage: _invoke_mlflow_run_subprocess(work_dir, entry_point, parameters, experiment_id, env_manager, docker_args, storage_dir, run_id) and returns: LocalSubmittedRun