Skip to content

Handle deferred Action dependency outputs#53

Merged
islas merged 1 commit into
releases/1.1.0from
action_deferred_dep_outputs
Jun 12, 2026
Merged

Handle deferred Action dependency outputs#53
islas merged 1 commit into
releases/1.1.0from
action_deferred_dep_outputs

Conversation

@islas

@islas islas commented Jun 12, 2026

Copy link
Copy Markdown
Owner

Ensure that dependency outputs are current at Action start

To account for different execution context between the orchestrator task and the actual Action run, Actions must save+load their outputs.

This is fine for a local run host where the tasks are directly executed by the main orchestrator process and thus executed in DAG-dependency order. However in HPC environments tasks are submitted into a queue in DAG order with dependency info set at that time. Execution and thus evaluation of outputs will not occur until the real host runs the job.

This delay would cause dependency outputs to run with the old values set at submission time instead of the values after dependencies have finished executing. To remedy this, building off of #52, Actions now reload the dependency outputs inside the action_launcher.py

Note that dependency outputs will still be incorrect within the main orchestrator process context, but at this stage this information should not be needed as is never stored beyond the pickle file. Should users need the dependency output information per action in this situation (e.g. post_run_actions() for the Host) users can call the internal API function Action.reload_dependency_outputs() manually.

To account for different execution context between the orchestrator task
and the actual Action run, Actions must save+load their outputs.

This is fine for a local run host where the tasks are directly executed
by the main orchestrator process and thus executed in DAG-dependency
order. However in HPC environments tasks are submitted into a queue in
DAG order with dependency info set at that time. Execution and thus
evaluation of outputs will not occur until the real host runs the job.

This delay would cause dependency outputs to run with the old values set
at submission time instead of the values after dependencies have
finished executing. To remedy this, building off of #52, Actions now
reload the dependency outputs inside the `action_launcher.py`

Note that dependency outputs will still be incorrect within the main
orchestrator process context, but at this stage this information should
not be needed as is never stored beyond the pickle file. Should users
need the dependency output information per action in this situation
(e.g. post_run_actions() for the Host) users can call the internal API
function `Action.reload_dependency_outputs()` manually.
@islas islas merged commit 50092ce into releases/1.1.0 Jun 12, 2026
8 checks passed
@islas islas mentioned this pull request Jun 15, 2026
islas added a commit that referenced this pull request Jun 15, 2026
# Official release

Includes the following PRs:
* #38
* #39
* #40
* #41
* #42 
* #43 
* #44 
* #45 
* #46 
* #47 
* #48 
* #49 
* #50 
* #51 
* #52 
* #53 
* #54 
* #55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant