code: def run_module_async(kwargs, job_id, timeout_secs, started_sender, econtext):
      
      arunner = AsyncRunner(
          job_id,
          timeout_secs,
          started_sender,
          econtext,
          kwargs
      )
      arunner.run()
docs: Execute a module with its run status and result written to a file,
      terminating on the process on completion. This function must run in a child
      forked using :func:`create_fork_child`.
  
      @param mitogen.core.Sender started_sender:
          A sender that will receive :data:`True` once the job has reached a
          point where its initial job file has been written. This is required to
          avoid a race where an overly eager controller can check for a task
          before it has reached that point in execution, which is possible at
          least on Python 2.4, where forking is not available for async tasks.