Skip to content

Commit 15305cb

Browse files
committed
fix: continue_on_success_ratio without slice raise error
1 parent 54f542e commit 15305cb

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/dflow/step.py

+8-4
Original file line numberDiff line numberDiff line change
@@ -588,7 +588,7 @@ def merge_output_artifact(art, parent, layer=0):
588588
else:
589589
for name in sliced_input_artifact:
590590
self.inputs.parameters["dflow_%s_sub_path" %
591-
name].value = "{{item.%s}}" % name
591+
name].value = "{{item.%s}}" % name
592592
v = self.inputs.artifacts[name].source
593593
if isinstance(v, S3Artifact):
594594
self.prepare_step.set_artifacts({
@@ -702,7 +702,8 @@ def merge_output_artifact(art, parent, layer=0):
702702
self.template.set_slices(self.template.slices)
703703
self.with_param = argo_range(if_expression(
704704
"%s %% %s > 0" % (nslices, group_size),
705-
"%s/%s + 1" % (nslices, group_size),
705+
"(%s - %s %% %s) / %s + 1" % (nslices,
706+
nslices, group_size, group_size),
706707
"%s/%s" % (nslices, group_size)))
707708
elif self.with_param is not None:
708709
self.template.inputs.parameters["dflow_with_param"] = \
@@ -725,7 +726,8 @@ def merge_output_artifact(art, parent, layer=0):
725726
self.template.set_slices(self.template.slices)
726727
self.with_param = argo_range(if_expression(
727728
"%s %% %s > 0" % (nslices, group_size),
728-
"%s/%s + 1" % (nslices, group_size),
729+
"(%s - %s %% %s) / %s + 1" % (nslices,
730+
nslices, group_size, group_size),
729731
"%s/%s" % (nslices, group_size)))
730732
if self.with_sequence is not None:
731733
self.template.inputs.parameters["dflow_sequence_start"] = \
@@ -779,7 +781,8 @@ def merge_output_artifact(art, parent, layer=0):
779781
self.with_sequence = argo_sequence(
780782
count=if_expression(
781783
"%s %% %s > 0" % (nslices, group_size),
782-
"%s/%s + 1" % (nslices, group_size),
784+
"(%s - %s %% %s) / %s + 1" % (nslices,
785+
nslices, group_size, group_size),
783786
"%s/%s" % (nslices, group_size)), format=format)
784787

785788
self.inputs.parameters["dflow_nslices"] = InputParameter(
@@ -912,6 +915,7 @@ def add_success_tag(templ):
912915
}
913916
)
914917
elif self.continue_on_success_ratio is not None:
918+
total = 1
915919
if "dflow_nslices" in self.inputs.parameters:
916920
total = self.inputs.parameters["dflow_nslices"].value
917921
elif self.with_param is not None:

0 commit comments

Comments
 (0)