From 5fbae20d2a4457a95d41e34ab53103c4764bf0d7 Mon Sep 17 00:00:00 2001 From: David Shrewsbury Date: Mon, 14 Oct 2024 14:31:44 -0400 Subject: [PATCH] Change run_async() to match run() --- pyproject.toml | 1 + src/ansible_runner/interface.py | 25 +++++++++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 74840194..ace258c4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,6 +21,7 @@ disable = [ "C0115", # missing-class-docstring "C0116", # missing-function-docstring "C0301", # line-too-long + "C0302", # too-many-lines "R0401", # cyclic-import "R0801", # duplicate-code "R0902", # too-many-instance-attributes diff --git a/src/ansible_runner/interface.py b/src/ansible_runner/interface.py index 76d6c207..2df978b4 100644 --- a/src/ansible_runner/interface.py +++ b/src/ansible_runner/interface.py @@ -221,7 +221,16 @@ def run(config: RunnerConfig | None = None, return r -def run_async(**kwargs): +def run_async( + config: RunnerConfig | None = None, + streamer: str = "", + debug: bool = False, + logfile: str = "", + ignore_logging: bool = True, + _input: io.FileIO | None = None, + _output: io.FileIO | None = None, + only_transmit_kwargs: bool = False, + **kwargs): ''' Runs an Ansible Runner task in the background which will start immediately. Returns the thread object and a Runner object. @@ -229,7 +238,19 @@ def run_async(**kwargs): :returns: A tuple containing a :py:class:`threading.Thread` object and a :py:class:`ansible_runner.runner.Runner` object ''' - r = init_runner(**kwargs) + + # Initialize logging + if not ignore_logging: + output.configure(debug, logfile) + + if not config: + config = RunnerConfig(**kwargs) + + r = init_runner( + config=config, streamer=streamer, + only_transmit_kwargs=only_transmit_kwargs, + _input=_input, _output=_output, + ) runner_thread = threading.Thread(target=r.run) runner_thread.start() return runner_thread, r