Skip to content

Commit 72956d5

Browse files
committed
fix: updated transformation hoooks group_size
1 parent 11cc0c9 commit 72956d5

File tree

5 files changed

+9
-4
lines changed

5 files changed

+9
-4
lines changed

src/dirac_cwl_proto/execution_hooks/core.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,4 +337,6 @@ def from_cwl(cls, cwl_object: Any) -> Self:
337337
class TransformationExecutionHooksHint(ExecutionHooksHint):
338338
"""Extended data manager for transformations."""
339339

340-
group_size: Optional[int] = Field(default=None, description="Input grouping configuration for transformation jobs")
340+
group_size: Optional[Dict[str, int]] = Field(
341+
default=None, description="Input grouping configuration for transformation jobs"
342+
)

src/dirac_cwl_proto/transformation/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ def submit_transformation_router(transformation: TransformationSubmissionModel)
112112

113113
if transformation.input_data:
114114
nb_files = len(transformation.input_data)
115-
group_size = transformation_execution_hooks.group_size or nb_files
115+
group_size = (transformation_execution_hooks.group_size or {}).get("input_data") or nb_files
116116
nb_groups = (nb_files + group_size - 1) // group_size
117117
logger.info("Creating %s jobs for the transformation with group size of %s...", nb_groups, group_size)
118118

test/test_workflows.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,8 @@ def test_run_nonblocking_transformation_success(cli_runner, cleanup, cwl_file, i
384384
assert "Transformation done" in clean_output, f"Failed to run the transformation: {result.stdout}"
385385

386386

387+
# TODO: re-enable this test once approval on questions of new Job Grouping
388+
@pytest.mark.skip(reason="Waiting for approval on new Job Grouping (the tested code is currently commented)")
387389
@pytest.mark.parametrize(
388390
"cwl_file, destination_source_input_data",
389391
[

test/workflows/automatic_job_grouping/job_grouping.cwl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ outputs:
1919

2020
hints:
2121
- class: dirac:ExecutionHooks
22-
group_size: 46 # should create 4 jobs: 46/46/46/12 files
22+
group_size:
23+
input_data: 46 # should create 4 jobs: 46/46/46/12 files
2324
output_sandbox: ["result-file"]
2425

2526
steps:

test/workflows/pi/type_dependencies/transformation/metadata-pi_gather.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
- class: dirac:ExecutionHooks
22
hook_plugin: QueryBasedPlugin
33
group_size:
4-
input-data: 5
4+
input_data: 5
55
configuration:
66
num_points: 100
77
query_root: "."

0 commit comments

Comments
 (0)