pydra
pydra copied to clipboard
Replace propagate_rerun with being able to pass list of node names to rerun
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