mark workflow run failed if parameter creation failed (#1031)
This commit is contained in:
@@ -121,30 +121,34 @@ class WorkflowService:
|
|||||||
|
|
||||||
# Create all the workflow run parameters, AWSSecretParameter won't have workflow run parameters created.
|
# Create all the workflow run parameters, AWSSecretParameter won't have workflow run parameters created.
|
||||||
all_workflow_parameters = await self.get_workflow_parameters(workflow_id=workflow.workflow_id)
|
all_workflow_parameters = await self.get_workflow_parameters(workflow_id=workflow.workflow_id)
|
||||||
workflow_run_parameters = []
|
try:
|
||||||
for workflow_parameter in all_workflow_parameters:
|
for workflow_parameter in all_workflow_parameters:
|
||||||
if workflow_request.data and workflow_parameter.key in workflow_request.data:
|
if workflow_request.data and workflow_parameter.key in workflow_request.data:
|
||||||
request_body_value = workflow_request.data[workflow_parameter.key]
|
request_body_value = workflow_request.data[workflow_parameter.key]
|
||||||
workflow_run_parameter = await self.create_workflow_run_parameter(
|
await self.create_workflow_run_parameter(
|
||||||
workflow_run_id=workflow_run.workflow_run_id,
|
workflow_run_id=workflow_run.workflow_run_id,
|
||||||
workflow_parameter=workflow_parameter,
|
workflow_parameter=workflow_parameter,
|
||||||
value=request_body_value,
|
value=request_body_value,
|
||||||
)
|
)
|
||||||
elif workflow_parameter.default_value is not None:
|
elif workflow_parameter.default_value is not None:
|
||||||
workflow_run_parameter = await self.create_workflow_run_parameter(
|
await self.create_workflow_run_parameter(
|
||||||
workflow_run_id=workflow_run.workflow_run_id,
|
workflow_run_id=workflow_run.workflow_run_id,
|
||||||
workflow_parameter=workflow_parameter,
|
workflow_parameter=workflow_parameter,
|
||||||
value=workflow_parameter.default_value,
|
value=workflow_parameter.default_value,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
await self.mark_workflow_run_as_failed(workflow_run_id=workflow_run.workflow_run_id)
|
raise MissingValueForParameter(
|
||||||
raise MissingValueForParameter(
|
parameter_key=workflow_parameter.key,
|
||||||
parameter_key=workflow_parameter.key,
|
workflow_id=workflow.workflow_id,
|
||||||
workflow_id=workflow.workflow_id,
|
workflow_run_id=workflow_run.workflow_run_id,
|
||||||
workflow_run_id=workflow_run.workflow_run_id,
|
)
|
||||||
)
|
except Exception as e:
|
||||||
|
LOG.exception(
|
||||||
workflow_run_parameters.append(workflow_run_parameter)
|
f"Error while setting up workflow run {workflow_run.workflow_run_id}",
|
||||||
|
workflow_run_id=workflow_run.workflow_run_id,
|
||||||
|
)
|
||||||
|
await self.mark_workflow_run_as_failed(workflow_run_id=workflow_run.workflow_run_id)
|
||||||
|
raise e
|
||||||
|
|
||||||
return workflow_run
|
return workflow_run
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user