Skip to content

Commit

Permalink
Merge cd99fdf into acf7fb3
Browse files Browse the repository at this point in the history
  • Loading branch information
roksys committed Feb 7, 2020
2 parents acf7fb3 + cd99fdf commit 5341466
Showing 1 changed file with 25 additions and 20 deletions.
45 changes: 25 additions & 20 deletions reana_workflow_controller/rest/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -180,27 +180,32 @@ def delete_workflow(workflow,
WorkflowStatus.finished,
WorkflowStatus.stopped,
WorkflowStatus.deleted,
WorkflowStatus.failed]:
to_be_deleted = [workflow]
if all_runs:
to_be_deleted += Session.query(Workflow).\
filter(Workflow.name == workflow.name,
Workflow.status != WorkflowStatus.running).all()
for workflow in to_be_deleted:
if hard_delete:
remove_workflow_workspace(workflow.workspace_path)
_delete_workflow_row_from_db(workflow)
else:
if workspace:
WorkflowStatus.failed,
WorkflowStatus.queued]:
try:
to_be_deleted = [workflow]
if all_runs:
to_be_deleted += Session.query(Workflow).\
filter(Workflow.name == workflow.name,
Workflow.status != WorkflowStatus.running).all()
for workflow in to_be_deleted:
if hard_delete:
remove_workflow_workspace(workflow.workspace_path)
_mark_workflow_as_deleted_in_db(workflow)
remove_workflow_jobs_from_cache(workflow)

return jsonify({'message': 'Workflow successfully deleted',
'workflow_id': workflow.id_,
'workflow_name': get_workflow_name(workflow),
'status': workflow.status.name,
'user': str(workflow.owner_id)}), 200
_delete_workflow_row_from_db(workflow)
else:
if workspace:
remove_workflow_workspace(workflow.workspace_path)
_mark_workflow_as_deleted_in_db(workflow)
remove_workflow_jobs_from_cache(workflow)

return jsonify({'message': 'Workflow successfully deleted',
'workflow_id': workflow.id_,
'workflow_name': get_workflow_name(workflow),
'status': workflow.status.name,
'user': str(workflow.owner_id)}), 200
except Exception as e:
logging.error(traceback.format_exc())
return jsonify({"message": str(e)}), 500
elif workflow.status == WorkflowStatus.running:
raise REANAWorkflowDeletionError(
'Workflow {0}.{1} cannot be deleted as it'
Expand Down

0 comments on commit 5341466

Please sign in to comment.