From 701c8dd350646459483e0828ae42965808ff4d6b Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Fri, 25 Sep 2026 13:57:45 -0700 Subject: [PATCH 1/7] add links for task based execution tutorials --- docs/tutorials/task_based_execution_cli.rst | 4 ++++ docs/tutorials/task_based_execution_python_api.nblink | 3 +++ 2 files changed, 7 insertions(+) create mode 100644 docs/tutorials/task_based_execution_cli.rst create mode 100644 docs/tutorials/task_based_execution_python_api.nblink diff --git a/docs/tutorials/task_based_execution_cli.rst b/docs/tutorials/task_based_execution_cli.rst new file mode 100644 index 000000000..7dc96b2cd --- /dev/null +++ b/docs/tutorials/task_based_execution_cli.rst @@ -0,0 +1,4 @@ +.. _task_based_execution_cli: + +.. include:: /ExampleNotebooks/execution/task_based_execution_cli.md + :parser: myst_parser.sphinx_ diff --git a/docs/tutorials/task_based_execution_python_api.nblink b/docs/tutorials/task_based_execution_python_api.nblink new file mode 100644 index 000000000..bea187030 --- /dev/null +++ b/docs/tutorials/task_based_execution_python_api.nblink @@ -0,0 +1,3 @@ +{ + "path": "../ExampleNotebooks/execution/task_based_execution_python_api.ipynb", +} From 2ec904dda3c432dd28dced9aa1480fe3b6c90f12 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Fri, 2 Oct 2026 14:04:01 -0700 Subject: [PATCH 2/7] point to working branch --- docs/conf.py | 2 +- docs/tutorials/index.rst | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index 2bc2cac4c..3a13cf5be 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -195,7 +195,7 @@ else: repo = git.Repo.clone_from( "https://github.com/OpenFreeEnergy/ExampleNotebooks.git", - branch="main", + branch="feat/add_worker_based_execution", to_path=example_notebooks_path, ) except Exception as e: diff --git a/docs/tutorials/index.rst b/docs/tutorials/index.rst index 9e8749fde..5fd55e0b0 100644 --- a/docs/tutorials/index.rst +++ b/docs/tutorials/index.rst @@ -32,6 +32,11 @@ Molecular Dynamics (MD) - :any:`MD protocol `: A walk-through of running a conventional (non-alchemical) MD simulation of benzene bound to T4-lysozyme L99A. + +Execution +--------- +- :any:`Task-based Execution with the CLI ` + Post-Simulation Analysis ------------------------ @@ -59,4 +64,5 @@ Generating Partial Charges septop_analysis_tutorial md_tutorial plotting_with_cinnabar + task_based_execution_cli charge_molecules_cli_tutorial From 3497b6697efd624e7ec2beb50539217970ff5723 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Fri, 2 Oct 2026 15:36:11 -0700 Subject: [PATCH 3/7] update links --- docs/tutorials/index.rst | 4 +++- docs/tutorials/task_based_execution_python_api.nblink | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/tutorials/index.rst b/docs/tutorials/index.rst index 5fd55e0b0..8727cb115 100644 --- a/docs/tutorials/index.rst +++ b/docs/tutorials/index.rst @@ -35,7 +35,8 @@ Molecular Dynamics (MD) Execution --------- -- :any:`Task-based Execution with the CLI ` +- :ref:`Task-based Execution with the CLI ` +- :any:`Task-based Execution with the Python API ` Post-Simulation Analysis ------------------------ @@ -65,4 +66,5 @@ Generating Partial Charges md_tutorial plotting_with_cinnabar task_based_execution_cli + task_based_execution_python_api charge_molecules_cli_tutorial diff --git a/docs/tutorials/task_based_execution_python_api.nblink b/docs/tutorials/task_based_execution_python_api.nblink index bea187030..36ec9b65b 100644 --- a/docs/tutorials/task_based_execution_python_api.nblink +++ b/docs/tutorials/task_based_execution_python_api.nblink @@ -1,3 +1,6 @@ { "path": "../ExampleNotebooks/execution/task_based_execution_python_api.ipynb", + "extra-media": [ + "../ExampleNotebooks/execution/execution.png" + ] } From b7f73bb3efd3a2e2ed5ba461297c96edd89d3907 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Wed, 7 Oct 2026 12:53:41 -0700 Subject: [PATCH 4/7] update loop to have upper limit --- docs/guide/execution/task_based_execution.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/guide/execution/task_based_execution.rst b/docs/guide/execution/task_based_execution.rst index abec7c98a..62144a8cf 100644 --- a/docs/guide/execution/task_based_execution.rst +++ b/docs/guide/execution/task_based_execution.rst @@ -244,10 +244,11 @@ You can call this command in a loop, so that after a ``task`` is completed, the # activate an appropriate conda environment, or any "module load" commands required conda activate openfe_env - # continue submitting run-task in serial until the wall time is hit + # continue submitting run-task in serial up to 50 times (a reasonable upper limit for this campaign) + # or until the wall time is hit # you may submit this *script* multiple times to have workers execute tasks in - while true; do + for n in {0..50}; do openfe run-task --warehouse warehouse_tyk2/ --task-db tasks_tyk2.db --scratch workdir/ done From ed90dc6f8c4e2acc23b40b884776e7c37e0e4968 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Wed, 7 Oct 2026 16:54:11 -0700 Subject: [PATCH 5/7] point to release branch --- docs/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index 3a13cf5be..4f2461395 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -195,7 +195,7 @@ else: repo = git.Repo.clone_from( "https://github.com/OpenFreeEnergy/ExampleNotebooks.git", - branch="feat/add_worker_based_execution", + branch="2026.10.07", to_path=example_notebooks_path, ) except Exception as e: From 1e3353d3d722144310188a7fc412955846f32364 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Wed, 7 Oct 2026 17:25:34 -0700 Subject: [PATCH 6/7] update user guide to be less redundant with tutorials --- docs/guide/execution/img/execution.png | Bin 0 -> 220260 bytes docs/guide/execution/task_based_execution.rst | 291 ++---------------- 2 files changed, 19 insertions(+), 272 deletions(-) create mode 100644 docs/guide/execution/img/execution.png diff --git a/docs/guide/execution/img/execution.png b/docs/guide/execution/img/execution.png new file mode 100644 index 0000000000000000000000000000000000000000..b40e73bf6a4213c1d0b0e9d4c8e08b3764b8f7da GIT binary patch literal 220260 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

`XydrEnF+IRWx=Fs%&)~sOPj$RUdWYp6>r~$d& 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 SV_nvOzvD(0$8wK4U;ZDYzmggN literal 0 HcmV?d00001 diff --git a/docs/guide/execution/task_based_execution.rst b/docs/guide/execution/task_based_execution.rst index 62144a8cf..29094e279 100644 --- a/docs/guide/execution/task_based_execution.rst +++ b/docs/guide/execution/task_based_execution.rst @@ -6,288 +6,35 @@ Task-based Execution ==================== -In contrast to :ref:`quickrun execution `, task-based execution does not require that you explicitly pass in the ``Transformation`` to be executed. - -Instead, an :class:`AlchemicalNetwork` is used to create a series of tasks corresponding to each transformation, with each task representing a single :class:`ProtocolUnit` to be executed. -See the :ref:`Protocols and the Execution Model Theory ` guide for more details on ProtocolDAGs, ProtocolUnits, and ProtocolUnitResults. - - -.. add a figure relating Transformation -> ProtocolDAG -> ProtocolUnits? - -This means that you can execute an entire ``AlchemicalNetwork``\'s campaign just by calling the ``openfe run-task`` command iteratively to run each task until the entire campaign is complete, without needing to track specific Transformation JSON files. - -See below for details on how to run an openfe campaign using task-based execution using either the CLI or the Python API. - -Task-based Execution with the CLI ---------------------------------- - -Setting up a Campaign -~~~~~~~~~~~~~~~~~~~~~ - -Any ``AlchemicalNetwork`` can be executed with task-based execution, regardless of ``Protocol`` or other implementation details. -Refer to the cookbook `Create an AlchemicalNetwork <../../cookbook/create_alchemical_network.nblink>`_ for how you can use the Python API to customize your setup. - - -If you are accustomed to using the ``openfe plan-rbfe-network`` or ``openfe plan-rhfe-network`` CLI commands to setup your campaign, you can simply add the ``--networks-only`` argument to your existing command, and use the output ``AlchemicalNetwork`` (``tyk2.json`` here) as a starting point. - -.. code:: bash - - > openfe plan-rbfe-network -M ligands.sdf -p protein.pdb --networks-only -o tyk2 --n-protocol-repeats=3 - ... - > tree . - tyk2/ - ├── ligand_network.graphml - └── tyk2.json - -.. note:: - - Unlike execution with ``quickrun``, with task-based execution the setting ``protocol_repeats=3`` does not mean the repeats run in serial. Each repeat is a separate set of tasks, so workers can run them in parallel, with no extra steps needed. We recommend keeping the default of ``--n-protocol-repeats=3``. - -Once you have an AlchemicalNetwork, use the ``openfe setup-task-campaign`` command to set up the task-based campaign. - -By default, the ``TaskDB`` and ``Warehouse`` will be created using the input file basename (here, ``tyk2``), but you can pass in the ``--name`` parameter to define the identifier for the ``Warehouse`` and ``TaskDB`` file names. - -.. code:: bash - - > openfe setup-task-campaign --alchemical-network tyk2/tyk2.json - - -You should see a ``Warehouse`` (``warehouse_tyk2/``) in the form of a directory and a ``TaskStatusDB`` (``tasks_tyk2.db``) file as output. - -.. code:: bash - - > ls - warehouse_tyk2/ tasks_tyk2.db - -The ``TaskStatusDB`` is the source of truth for tracking the execution status of the tasks in this campaign. - -At any time, you can query the execution status of the campaign using ``openfe status``. -All task status information is stored in the ``TaskStatusDB``: - -.. code:: bash - - > openfe status --task-db tasks_ty2k.db - ┌─────────────────────────────────┬───────────┬───────────────┬───────┬───────────┐ - │ taskid │ status │ last_modified │ tries │ max_tries │ - ├─────────────────────────────────┼───────────┼───────────────┼───────┼───────────┤ - │ HybridTopologySetupUnit-025f3a… │ AVAILABLE │ NaT │ 0 │ 1 │ - │ HybridTopologySetupUnit-70535a… │ AVAILABLE │ NaT │ 0 │ 1 │ - │ HybridTopologySetupUnit-4eb000… │ AVAILABLE │ NaT │ 0 │ 1 │ - │ HybridTopologySetupUnit-016551… │ AVAILABLE │ NaT │ 0 │ 1 │ - │ HybridTopologyMultiStateSimula… │ BLOCKED │ NaT │ 0 │ 1 │ - │ HybridTopologyMultiStateSimula… │ BLOCKED │ NaT │ 0 │ 1 │ - ... - - -**Tip**: you can use the ``--summary`` flag to show a summary table of the number of tasks with each status: - -.. code:: bash - - > openfe status --task-db tasks_ty2k.db - ┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ - ┃ status ┃ n_tasks ┃ - ┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ - │ BLOCKED │ 8 │ - │ AVAILABLE │ 4 │ - │ IN_PROGRESS │ 0 │ - │ COMPLETED │ 0 │ - │ TOO_MANY_RETRIES │ 0 │ - │ ERROR │ 0 │ - └──────────────────┴─────────┘ - -.. warning :: - - The ``Warehouse`` is a directory with a specific structure, and **should not be edited manually**. - -At this stage, we can see that the following directories have been populated: - -- ``setup/``: Stores the input :class:`AlchemicalNetwork`, deconstructed into its sub-components. -- ``tasks/``: Stores the :class:`ProtocolUnit` tasks that are to be executed by ``openfe run-task``. -- ``protocol_dags/``: Stores the :class:`ProtocolDAG`\s that the task :class:`ProtocolUnit`/s correspond to. These can be thought of as "bookkeeping" done by **openfe**. +.. warning:: Task-based execution is an experimental feature and subject to change in future releases of openfe. -Note that ``results/`` and ``shared/`` are empty, as no tasks have been executed yet. -.. code:: bash +When using :ref:`quickrun execution `, you orchestrate the campaign by choosing which ``Transformation`` to run and when to run it. - > tree warehouse_tyk2/ - ├── protocol_dags/ - │ ├── ProtocolDAG-62fb10eb3a78ec5568e5992688dd0b4a - │ ├── ProtocolDAG-901e038b0360e59c930dcfed633ff72a - ... - ├── results/ - ├── setup/ - │ ├── AlchemicalNetwork-f7b23b93aebaa38a4fa6282ed9a2ee9b - │ ├── ChemicalSystem-042fade29db8a39616f5a902e2da7ae3 - │ ├── ChemicalSystem-092349f47625178f21bc28888fc27d6a - ... - │ ├── LigandAtomMapping-0cdd365bd42a6a6dcc223a297aeba078 - ... - │ ├── ProteinComponent-ee7ec9e5f1904266e3b388963bdcfe3c - │ ├── RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616 - │ ├── SmallMoleculeComponent-8f5b6a9848f63293c9b2361b51b466ab - ... - │ ├── SolventComponent-26b4034ad9dbd9f908dfc298ea8d449f - │ ├── Transformation-622f1d19bea91cd47a7e478e42376305 - │ ├── Transformation-a8ccb7f841aafdc860143dad3f2bd82a - │ ├── Transformation-ae340a619b2794a9a3da4e72ef977885 - │ └── Transformation-d51c5a0397bfe45865a78edd1935e3b0 - ├── shared/ - └── tasks/ - ├── HybridTopologyMultiStateAnalysisUnit-1fda3bd83b584e0f9b4c5a511c04634d - ├── HybridTopologyMultiStateAnalysisUnit-b28f3adb441a458c8b8be15fb44f6eaa - ... - ├── HybridTopologyMultiStateSimulationUnit-1f012c080bdc49e98695d2897b789c4f - ├── HybridTopologyMultiStateSimulationUnit-4948383ff0d84b89b8d214dfff7c260b - ... - ├── HybridTopologySetupUnit-1714964f74c14753992582208540338c - ├── HybridTopologySetupUnit-2732c040c9fa47b8bec6717da38ab839 - ... +With task-based execution, **openfe** handles that orchestration for you. +You provide an entire :class:`AlchemicalNetwork`, **openfe** breaks it into dependent tasks, and one or +more :class:`Worker`\s claim those tasks as soon as they are ready to run. -.. note:: +A **task** is a single :class:`ProtocolUnit`, for example the setup, simulation, or +analysis step of one repeat of one :class:`Transformation`. - If you're migrating from Transformation-based execution with quickrun, know that the ``Warehouse`` directory contains all the information that a directory of transformation.json files store, just in a different directory structure. +A task-based campaign uses: +- A **Warehouse**, usually a :class:`storage.FileSystemWarehouse`: a directory with a strict structure that stores the campaign data needed for execution, including the inputs, tasks, and results. +- A :class:`TaskStatusDB`: a SQLite database file that tracks task status and dependencies. +- A :class:`Worker`: The execution object that claims available tasks, execute them, and writes the results to the **Warehouse**. On the CLI this is ``openfe run-task``, which is equivalent to ``Worker.execute_unit()`` in the Python API. -Running the Campaign -~~~~~~~~~~~~~~~~~~~~ +.. figure:: img/execution.png -To execute the campaign all we need is the ``Warehouse`` and a ``TaskStatusDB`` which handle storage and orchestration, respectively. - -To execute a single ``task`` (where here a ``task`` is one ``ProtocolUnit``), you can simply run: - -.. code:: bash - - > openfe run-task --warehouse warehouse_tyk2/ --task-db tasks_tyk2.db - -**openfe** finds next available ``task`` in the ``TaskStatusDB``, retrieves the necessary data from the ``Warehouse`` to execute the task, then executes the task. - -Now, you will see that a ``scratch/`` directory has been created locally, which is needed for quick read/write operations during execution. -Use the ``--scratch`` argument to specify where to create this directory; by default, it will be created in the current directory and named ``scratch/``. - - -You'll now see that one task has been completed, and a new task has been unblocked: - -.. code:: bash - - > openfe status --task-db tasks_ty2k.db - - ┌───────────────────────────┬───────────┬─────────────────────┬───────┬───────────┐ - │ taskid │ status │ last_modified │ tries │ max_tries │ - ├───────────────────────────┼───────────┼─────────────────────┼───────┼───────────┤ - │ HybridTopologySetupUnit-… │ COMPLETED │ 2026-09-09 18:02:13 │ 1 │ 1 │ - │ HybridTopologySetupUnit-… │ AVAILABLE │ NaT │ 0 │ 1 │ - │ HybridTopologySetupUnit-… │ AVAILABLE │ NaT │ 0 │ 1 │ - │ HybridTopologySetupUnit-… │ AVAILABLE │ NaT │ 0 │ 1 │ - │ HybridTopologyMultiState… │ AVAILABLE │ 2026-09-09 18:02:13 │ 0 │ 1 │ - │ HybridTopologyMultiState… │ BLOCKED │ NaT │ 0 │ 1 │ - ... - -As units are executed, you'll see rest of the ``Warehouse`` directories be populated: - -- ``shared``: Data that may be shared between ProtocolUnits. -- ``results``: :class:`ProtocolUnitResult`\s corresponding 1:1 with the :class:`ProtocolUnit`\s in the ``tasks/`` directory. - -.. code:: bash - - > tree warehouse_tyk2/shared warehouse_tyk2/results - shared/ - ├── protocol_unit_results/ - │ ├── HybridTopologyMultiStateAnalysisUnit-69fe776a38d8498b9ddf44b88ca41825 - │ ├── HybridTopologyMultiStateAnalysisUnit-7fc2904754f54e9eb536f5edf0db6dc3 - ... - │ ├── HybridTopologyMultiStateSimulationUnit-0ca902f13ea143b0a6dae64f489c0fb9 - │ ├── HybridTopologyMultiStateSimulationUnit-aa6efcc8b1e743e78d873bd8958e9541 - ... - │ ├── HybridTopologySetupUnit-1093980e07b045cbaaec354177710e62 - │ ├── HybridTopologySetupUnit-580edcdab34a4b07bc8ba201f54c679d - ... - └── task_workdirs/ - ├── HybridTopologyMultiStateAnalysisUnit-69fe776a38d8498b9ddf44b88ca41825 - │ ├── forward_reverse_convergence.png - │ ├── mbar_overlap_matrix.png - │ ├── replica_exchange_matrix.png - │ └── replica_state_timeseries.png - ├── HybridTopologyMultiStateAnalysisUnit-7fc2904754f54e9eb536f5edf0db6dc3 - ... - ├── HybridTopologyMultiStateSimulationUnit-0ca902f13ea143b0a6dae64f489c0fb9 - │ ├── checkpoint.chk - │ └── simulation.nc - ├── HybridTopologyMultiStateSimulationUnit-aa6efcc8b1e743e78d873bd8958e9541 - ... - ├── HybridTopologySetupUnit-1093980e07b045cbaaec354177710e62 - │ ├── A_db.json - │ ├── B_db.json - │ ├── hybrid_positions.npy - │ ├── hybrid_system.pdb - │ └── hybrid_system.xml.bz2 - ├── HybridTopologySetupUnit-580edcdab34a4b07bc8ba201f54c679d - ... - results/ - ├── ProtocolUnitResult-21195221b4fd45a6bbb022936fd4d23b - ├── ProtocolUnitResult-2726e87afe534c69b863bff9d141f9d7 - ... - - -To run an entire campaign this way, you would have to run ``openfe run-task`` *many* times. - -In practice, you will likely be submitting many workers simultaneously using Slurm or similar. -You can call this command in a loop, so that after a ``task`` is completed, the ``Worker`` automatically picks up a new ``task``, continuing to run tasks in serial until the walltime runs out. - -.. code:: bash - :caption: run_tasks.sh - - #!/bin/bash - - #SBATCH --job-name="openfe job" - #SBATCH --mem-per-cpu=2G - - # activate an appropriate conda environment, or any "module load" commands required - conda activate openfe_env - - # continue submitting run-task in serial up to 50 times (a reasonable upper limit for this campaign) - # or until the wall time is hit - # you may submit this *script* multiple times to have workers execute tasks in - - for n in {0..50}; do - openfe run-task --warehouse warehouse_tyk2/ --task-db tasks_tyk2.db --scratch workdir/ - done - - -To run multiple workers in parallel, submit ``run_tasks.sh`` multiple times as separate jobs, for example using `Job Arrays on Slurm `_: - -.. code:: bash - - sbatch --array=1-50 run_tasks.sh - - -Gathering Results -~~~~~~~~~~~~~~~~~ - -In addition to the input data, the ``Warehouse`` directory contains every ``ProtocolUnitResult`` created during execution. - -Because task-based execution is currently under development, there is not yet a direct command to output the results. -To enable complete workflows in the meantime, we provide the ``to-legacy-json`` CLI command that takes in a Warehouse directory and outputs the results in a format identical to the format used by ``openfe quickrun``. - -This enables use of ``openfe gather`` (and ``openfe gather-septop``, ``openfe gather-abfe``). - -.. code:: bash - - > openfe to-legacy-json warehouse_tyk2/ -o tyk2_result_jsons +In contrast to :ref:`quickrun execution `, task-based execution does not require that you explicitly pass in the ``Transformation`` to be executed. +.. commented out until Protocols and the Execution Model Theory is updated +.. See the :ref:`Protocols and the Execution Model Theory ` guide for more details on ProtocolDAGs, ProtocolUnits, and ProtocolUnitResults. -The ``results`` directory may now be used as input to ``openfe gather``. +This means that you can execute an entire ``AlchemicalNetwork``\'s campaign just by calling the ``openfe run-task`` command or ``Worker.execute_unit()`` call iteratively to run each task until the entire campaign is complete, without needing to track specific ``Transformation`` JSON files. -.. TODO: how to cross-link to openfe gather? -.. code:: bash +For details on how to run an openfe campaign using task-based execution, see the following tutorials: - > openfe gather tyk2_result_jsons/ --report=raw - ┏━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ - ┃ ┃ ┃ ┃ DG(i->j) ┃ MBAR uncertainty ┃ - ┃ leg ┃ ligand_i ┃ ligand_j ┃ (kcal/mol) ┃ (kcal/mol) ┃ - ┡━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩ - │ complex │ ligand_1 │ ligand_2 │ 0.0 │ 1.0 │ - │ solvent │ ligand_1 │ ligand_2 │ 3.0 │ 2.0 │ - │ complex │ ligand_2 │ ligand_3 │ 2.0 │ 2.0 │ - │ solvent │ ligand_2 │ ligand_3 │ 2.0 │ 1.0 │ - ... +- :ref:`CLI task-based execution tutorial ` +- :ref:`Python API task-based execution tutorial `. From 010c06d810b43043c5fad545c8d9151a1f35aa4a Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Thu, 8 Oct 2026 07:34:12 -0700 Subject: [PATCH 7/7] clean up extra item --- docs/guide/execution/task_based_execution.rst | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/docs/guide/execution/task_based_execution.rst b/docs/guide/execution/task_based_execution.rst index 29094e279..e81d0e287 100644 --- a/docs/guide/execution/task_based_execution.rst +++ b/docs/guide/execution/task_based_execution.rst @@ -8,7 +8,6 @@ Task-based Execution .. warning:: Task-based execution is an experimental feature and subject to change in future releases of openfe. - When using :ref:`quickrun execution `, you orchestrate the campaign by choosing which ``Transformation`` to run and when to run it. With task-based execution, **openfe** handles that orchestration for you. @@ -21,19 +20,16 @@ analysis step of one repeat of one :class:`Transformation`. A task-based campaign uses: - A **Warehouse**, usually a :class:`storage.FileSystemWarehouse`: a directory with a strict structure that stores the campaign data needed for execution, including the inputs, tasks, and results. -- A :class:`TaskStatusDB`: a SQLite database file that tracks task status and dependencies. -- A :class:`Worker`: The execution object that claims available tasks, execute them, and writes the results to the **Warehouse**. On the CLI this is ``openfe run-task``, which is equivalent to ``Worker.execute_unit()`` in the Python API. +- A :class:`TaskStatusDB`: a SQLite database file that tracks tasks' statuses and dependencies. +- One or more :class:`Worker`\s: The execution objects that claim available tasks, execute them, and write the results to the **Warehouse**. On the CLI they are invoked with ``openfe run-task``, which is equivalent to ``Worker.execute_unit()`` in the Python API. .. figure:: img/execution.png -In contrast to :ref:`quickrun execution `, task-based execution does not require that you explicitly pass in the ``Transformation`` to be executed. - .. commented out until Protocols and the Execution Model Theory is updated .. See the :ref:`Protocols and the Execution Model Theory ` guide for more details on ProtocolDAGs, ProtocolUnits, and ProtocolUnitResults. This means that you can execute an entire ``AlchemicalNetwork``\'s campaign just by calling the ``openfe run-task`` command or ``Worker.execute_unit()`` call iteratively to run each task until the entire campaign is complete, without needing to track specific ``Transformation`` JSON files. - For details on how to run an openfe campaign using task-based execution, see the following tutorials: - :ref:`CLI task-based execution tutorial `