From 5d68e355f86ae199f8b27045fc3fefba26194d84 Mon Sep 17 00:00:00 2001 From: rmanach Date: Fri, 22 Sep 2023 22:47:24 +0200 Subject: [PATCH] send events on abort --- deployment/views.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/deployment/views.py b/deployment/views.py index c21f0eb..403e711 100644 --- a/deployment/views.py +++ b/deployment/views.py @@ -9,6 +9,7 @@ from django.http import ( HttpResponseBadRequest, ) from django.shortcuts import render, get_object_or_404 +from django_eventstream import send_event from deployment.forms import DeploymentForm from deployment.models import Deployment, Status @@ -64,6 +65,7 @@ def abort(request, deployment_id): return HttpResponseBadRequest("deployment is unabortable") res = AbortableAsyncResult(str(deployment.task_id)) + progress = res.info.get("progress", 0) res.abort() res.revoke(terminate=True) @@ -72,6 +74,24 @@ def abort(request, deployment_id): deployment.task_id = None deployment.save() + # first event in details + send_event( + f"deployment-{deployment.id}", + "message", + { + "id": deployment.id, + "status": deployment.status, + "progress": progress, + }, + ) + + # global event + send_event( + "deployment", + "message", + {"id": deployment.id, "status": deployment.status}, + ) + return HttpResponseRedirect(f"/deployment/{deployment.id}")