pydra icon indicating copy to clipboard operation
pydra copied to clipboard

Replace propagate_rerun with being able to pass list of node names to rerun

Open tclose opened this issue 9 months ago • 1 comments

This will allow much finer grain control over which nodes of a workflow need to be run than propagate_rerun, which is kind of useless as if you set it to False because re-runing identical workflows but not their nodes is guaranteed not to change anything.

my_workflow = MyWorkflow(in_file='/path/to/nifti')

outputs = my_workflow(rerun=["data_source"])

and for nested workflow nodes you could specify using '.'

outputs = my_workflow(rerun=["nested_wf.stochastic_alg", "nested_wf2.add_noise"])

In the process, it would be nice to make rerun part of the Job object so we can drop rerun from the Task._run(job: Job[Task], rerun: bool = False) signature to make it a little cleaner

tclose avatar Apr 03 '25 21:04 tclose