{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# processor: PrintResult\n", "\n", "[PrintResult](../api/processors.rst#nornir_utils.plugins.processors.PrintResult) is a [processor](https://nornir.readthedocs.io/en/latest/tutorials/intro/processors.html) that prints results similarly to the `print_result` function, however, because this is a processor it is done asynchronously. For instance:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1m\u001b[36m**** dummy_task - Starting *****************************************************\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev1.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv INFO\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev2.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv INFO\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev3.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv INFO\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev4.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv INFO\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev5.no_group ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv INFO\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[36m**** dummy_task - Completed ****************************************************\u001b[0m\n", "\u001b[0m" ] } ], "source": [ "# NBVAL_IGNORE_OUTPUT\n", "\n", "from nornir import InitNornir\n", "from nornir_utils.plugins.processors import PrintResult\n", "\n", "def dummy_task(task):\n", " return \"hi!!!\"\n", "\n", "nr = InitNornir(\n", " inventory={\n", " \"plugin\":\"YAMLInventory\",\n", " \"options\": {\n", " \"host_file\": \"data/hosts.yaml\",\n", " \"group_file\": \"data/groups.yaml\",\n", " \"defaults_file\": \"data/defaults.yaml\",\n", " }\n", " }\n", ")\n", "\n", "nrp = nr.with_processors([PrintResult()])\n", "_ = nrp.run(task=dummy_task) # `_ = something` discards the result explicitly, not needed" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice we never printed the result explicitly, instead, the processors printed it on screen as soon as the results where made available. This is particularly useful if some hosts take long to complete while others are faster and you want feedback as soon as possible." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Severity\n", "\n", "By default `PrintResult` will only print `INFO` or above levels so the following code will skip intermediate results:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1m\u001b[36m**** complex_task - Starting ***************************************************\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv complex_task - dev1.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvv INFO\u001b[0m\n", "\u001b[0mI did a lot of things!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv complex_task - dev3.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvv INFO\u001b[0m\n", "\u001b[0mI did a lot of things!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv complex_task - dev5.no_group ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvv INFO\u001b[0m\n", "\u001b[0mI did a lot of things!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv complex_task - dev4.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvv INFO\u001b[0m\n", "\u001b[0mI did a lot of things!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv complex_task - dev2.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvv INFO\u001b[0m\n", "\u001b[0mI did a lot of things!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[36m**** complex_task - Completed **************************************************\u001b[0m\n", "\u001b[0m" ] } ], "source": [ "# NBVAL_IGNORE_OUTPUT\n", "import logging\n", "\n", "def complex_task(task):\n", " task.run(task=dummy_task, severity_level=logging.DEBUG)\n", " task.run(task=dummy_task, severity_level=logging.DEBUG)\n", " task.run(task=dummy_task, severity_level=logging.DEBUG)\n", " task.run(task=dummy_task, severity_level=logging.DEBUG)\n", " task.run(task=dummy_task, severity_level=logging.DEBUG)\n", " return \"I did a lot of things!!!\"\n", "\n", "nrp = nr.with_processors([PrintResult()])\n", "_ = nrp.run(task=complex_task) # `_ = something` discards the result explicitly, not needed" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You could ask the processor to include those like this:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1m\u001b[36m**** complex_task - Starting ***************************************************\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev1.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev2.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev2.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev4.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev5.no_group ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev1.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev1.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev1.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev4.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev4.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev4.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev2.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev1.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv complex_task - dev1.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvv INFO\u001b[0m\n", "\u001b[0mI did a lot of things!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev3.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev4.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv complex_task - dev4.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvv INFO\u001b[0m\n", "\u001b[0mI did a lot of things!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev5.no_group ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev5.no_group ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev5.no_group ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev5.no_group ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv complex_task - dev5.no_group ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvv INFO\u001b[0m\n", "\u001b[0mI did a lot of things!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev3.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev3.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev3.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev2.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev3.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv complex_task - dev3.group_2 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvv INFO\u001b[0m\n", "\u001b[0mI did a lot of things!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv dummy_task - dev2.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG\u001b[0m\n", "\u001b[0mhi!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32mvvvv complex_task - dev2.group_1 ** changed: False vvvvvvvvvvvvvvvvvvvvvvvvvvvvv INFO\u001b[0m\n", "\u001b[0mI did a lot of things!!!\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[32m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n", "\u001b[0m\u001b[1m\u001b[36m**** complex_task - Completed **************************************************\u001b[0m\n", "\u001b[0m" ] } ], "source": [ "# NBVAL_IGNORE_OUTPUT\n", "import logging\n", "\n", "nrp = nr.with_processors([PrintResult(severity_level=logging.DEBUG)])\n", "_ = nrp.run(task=complex_task) # `_ = something` discards the result explicitly, not needed" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that there is no clear order, this is because the processor processes results as available." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.2" } }, "nbformat": 4, "nbformat_minor": 4 }