code: def _launch_job(
      use_mpi,
      use_gloo,
      settings,
      driver,
      env,
      stdout=None,
      stderr=None,
      executable=None,
  ):
      nics = driver.get_common_interfaces()
      executable = executable or sys.executable
      run_controller(
          use_gloo,
          lambda: gloo_run(
              executable, settings, nics, driver, env, stdout, stderr
          ),
          use_mpi,
          lambda: mpi_run(
              executable, settings, nics, driver, env, stdout, stderr
          ),
          False,
          lambda: None,
          settings.verbose,
      )
  
imports: import logging
  import os
  import platform
  import queue
  import sys
  import time
  import warnings
  import pyspark
  from horovod.common.util import gloo_built
  from horovod.runner.util.threads import in_thread
  from horovod.spark.common.util import host_hash
  from horovod.spark.task import task_service
  from horovod.spark.gloo_run import gloo_run, gloo_run_elastic
  from horovod.spark.mpi_run import mpi_run
  from horovod.runner.launch import is_gloo_used, run_controller
  from horovod.runner.common.util import timeout, secret
  from horovod.runner.common.util import settings
  from horovod.runner.elastic import settings
  from horovod.spark.driver import driver_service, host_discovery, job_id
label_desc: Use image node_id 4 for calling a global function with example usage: _launch_job(use_mpi, use_gloo, settings, driver, env, stdout, stderr, executable) without return types