Multipage workflow improvements (#875)

This commit is contained in:
Kerem Yilmaz
2024-09-24 08:51:51 -07:00
committed by GitHub
parent c27c2a55f9
commit d67aaeffb0
3 changed files with 48 additions and 12 deletions

View File

@@ -276,8 +276,7 @@ class WorkflowRunContext:
self, parameter: OutputParameter, value: dict[str, Any] | list | str | None
) -> None:
if parameter.key in self.values:
LOG.warning(f"Output parameter {parameter.output_parameter_id} already has a registered value")
return
LOG.warning(f"Output parameter {parameter.output_parameter_id} already has a registered value, overwriting")
self.values[parameter.key] = value
await self.set_parameter_values_for_output_parameter_dependent_blocks(parameter, value)

View File

@@ -87,19 +87,11 @@ class Block(BaseModel, abc.ABC):
workflow_run_id: str,
value: dict[str, Any] | list | str | None = None,
) -> None:
if workflow_run_context.has_value(self.output_parameter.key):
LOG.warning(
"Output parameter value already recorded",
output_parameter_id=self.output_parameter.output_parameter_id,
workflow_run_id=workflow_run_id,
)
return
await workflow_run_context.register_output_parameter_value_post_execution(
parameter=self.output_parameter,
value=value,
)
await app.DATABASE.create_workflow_run_output_parameter(
await app.DATABASE.create_or_update_workflow_run_output_parameter(
workflow_run_id=workflow_run_id,
output_parameter_id=self.output_parameter.output_parameter_id,
value=value,