rename to next loop on failure (#4194)
This commit is contained in:
@@ -137,7 +137,7 @@ class Block(BaseModel, abc.ABC):
|
||||
|
||||
# Only valid for blocks inside a for loop block
|
||||
# Whether to continue to the next iteration when the block fails
|
||||
next_iteration_on_failure: bool = False
|
||||
next_loop_on_failure: bool = False
|
||||
|
||||
@property
|
||||
def override_llm_key(self) -> str | None:
|
||||
@@ -1390,15 +1390,15 @@ class ForLoopBlock(Block):
|
||||
organization_id=organization_id,
|
||||
)
|
||||
block_outputs.append(failure_block_result)
|
||||
# If next_iteration_on_failure is False, stop the entire loop
|
||||
if not self.next_iteration_on_failure:
|
||||
# If next_loop_on_failure is False, stop the entire loop
|
||||
if not self.next_loop_on_failure:
|
||||
outputs_with_loop_values.append(each_loop_output_values)
|
||||
return LoopBlockExecutedResult(
|
||||
outputs_with_loop_values=outputs_with_loop_values,
|
||||
block_outputs=block_outputs,
|
||||
last_block=current_block,
|
||||
)
|
||||
# If next_iteration_on_failure is True, break out of the block loop for this iteration
|
||||
# If next_loop_on_failure is True, break out of the block loop for this iteration
|
||||
break
|
||||
|
||||
if block_output.status == BlockStatus.canceled:
|
||||
@@ -1419,8 +1419,8 @@ class ForLoopBlock(Block):
|
||||
if (
|
||||
not block_output.success
|
||||
and not loop_block.continue_on_failure
|
||||
and not loop_block.next_iteration_on_failure
|
||||
and not self.next_iteration_on_failure
|
||||
and not loop_block.next_loop_on_failure
|
||||
and not self.next_loop_on_failure
|
||||
):
|
||||
LOG.info(
|
||||
f"ForLoopBlock: Encountered a failure processing block {block_idx} during loop {loop_idx}, terminating early",
|
||||
@@ -1430,8 +1430,7 @@ class ForLoopBlock(Block):
|
||||
loop_over_value=loop_over_value,
|
||||
loop_block_continue_on_failure=loop_block.continue_on_failure,
|
||||
failure_reason=block_output.failure_reason,
|
||||
next_iteration_on_failure=loop_block.next_iteration_on_failure
|
||||
or self.next_iteration_on_failure,
|
||||
next_loop_on_failure=loop_block.next_loop_on_failure or self.next_loop_on_failure,
|
||||
)
|
||||
outputs_with_loop_values.append(each_loop_output_values)
|
||||
return LoopBlockExecutedResult(
|
||||
@@ -1443,15 +1442,14 @@ class ForLoopBlock(Block):
|
||||
if block_output.success or loop_block.continue_on_failure:
|
||||
continue
|
||||
|
||||
if loop_block.next_iteration_on_failure or self.next_iteration_on_failure:
|
||||
if loop_block.next_loop_on_failure or self.next_loop_on_failure:
|
||||
LOG.info(
|
||||
f"ForLoopBlock: Block {block_idx} during loop {loop_idx} failed but will continue to next iteration",
|
||||
block_outputs=block_outputs,
|
||||
loop_idx=loop_idx,
|
||||
block_idx=block_idx,
|
||||
loop_over_value=loop_over_value,
|
||||
loop_block_next_iteration_on_failure=loop_block.next_iteration_on_failure
|
||||
or self.next_iteration_on_failure,
|
||||
loop_block_next_loop_on_failure=loop_block.next_loop_on_failure or self.next_loop_on_failure,
|
||||
)
|
||||
break
|
||||
|
||||
|
||||
@@ -2951,7 +2951,7 @@ class WorkflowService:
|
||||
"next_block_label": block_yaml.next_block_label,
|
||||
"output_parameter": output_parameter,
|
||||
"continue_on_failure": block_yaml.continue_on_failure,
|
||||
"next_iteration_on_failure": block_yaml.next_iteration_on_failure,
|
||||
"next_loop_on_failure": block_yaml.next_loop_on_failure,
|
||||
"model": block_yaml.model,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user