diff --git a/backoffice/workflows/api/views.py b/backoffice/workflows/api/views.py index a7a35a56..39f1a178 100644 --- a/backoffice/workflows/api/views.py +++ b/backoffice/workflows/api/views.py @@ -101,6 +101,8 @@ def resolve(self, request, pk=None): @action(detail=True, methods=["post"]) def restart(self, request, pk=None): + + params = request.data.get("params", None) restart_current_task = request.data.get("restart_current_task", False) workflow = Workflow.objects.get(id=pk) @@ -142,8 +144,9 @@ def restart(self, request, pk=None): f"{airflow_utils.AIRFLOW_BASE_URL}/api/v1/dags/{dag_id}/dagRuns/{pk}", headers=airflow_utils.AIRFLOW_HEADERS, ) - if response.status_code != 204: - return Response({"error": "Failed to restart"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + + return airflow_utils.trigger_airflow_dag(WORKFLOW_DAG[workflow.workflow_type], pk, params) + return Response({"error": "Failed to restart"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)