Skip to content

Commit f10ab35

Browse files
Merge pull request #25 from InformaticsMatters/sc-3475
Add initial ABC support for DM 5.0
2 parents d67cc84 + 8cc2449 commit f10ab35

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

workflow/workflow_abc.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,36 @@ class LaunchParameters:
3838
# The RunningWorkflowStep UUID.
3939
# Required if the Instance is part of a Workflow step.
4040
running_workflow_step_id: str | None = None
41+
# A map of prior workflow steps and files to copy (link) into the step.
42+
# Used by the Workflow Engine when the instance to be launched depends on the
43+
# execution of a prior instance (or instances). The map is indexed by prior workflow
44+
# step ID and is a list of tuples that consist of two values - a prior workflow
45+
# (instance-relative) file name, and the name of that file when copied (linked)
46+
# into the step to be executed.
47+
#
48+
# This map gives the InstanceLauncher an opportunity to take the outputs
49+
# of a prior instance and link them to the instance directory for the
50+
# instance to be launched. We need to do this for Workflows because Instances
51+
# run as apart of a Workflow do not automatically have their outputs copied (linked)
52+
# to the Project directory when they complete. As an example, a step that relies
53+
# on the output files 'x.sdf' and 'y.sdf' from step 'a04d', and expects them to be
54+
# called 'a.sdf' and 'b.sdf' in its own instance directory
55+
# will provide the following map: -
56+
#
57+
# {"r-workflow-step-a04d": [("x.sdf", "a.sdf"), ("y.sdf", "b.sdf")]}
58+
#
59+
# Each source file must be linked to a unique destination file -
60+
# you cannot map the input examples shown above ()'x.sdf' and 'y.sdf') to the
61+
# same file (i.e. 'a.sdf').
62+
running_workflow_step_prior_step_output_map: (
63+
dict[str, list[tuple[str, str]]] | None
64+
) = None
65+
# Workflow inputs (for this step Instance). These Workflow Inputs (files) are
66+
# expected to be present in the Project directory. They are typically a subset of
67+
# the Workflows variables - not necessarily all the workflow inputs, just the
68+
# ones that are required for this step. If provided the structure is expected to
69+
# match that found in a Job definition's variables->inputs.
70+
running_workflow_step_inputs: dict[str, Any] | None = None
4171
# The application ID (a custom resource name)
4272
# used to identify the 'type' of Instance to create.
4373
# For DM Jobs this will be 'datamanagerjobs.squonk.it'

0 commit comments

Comments
 (0)