send events on abort
This commit is contained in:
parent
89396ebac9
commit
5d68e355f8
@ -9,6 +9,7 @@ from django.http import (
|
|||||||
HttpResponseBadRequest,
|
HttpResponseBadRequest,
|
||||||
)
|
)
|
||||||
from django.shortcuts import render, get_object_or_404
|
from django.shortcuts import render, get_object_or_404
|
||||||
|
from django_eventstream import send_event
|
||||||
|
|
||||||
from deployment.forms import DeploymentForm
|
from deployment.forms import DeploymentForm
|
||||||
from deployment.models import Deployment, Status
|
from deployment.models import Deployment, Status
|
||||||
@ -64,6 +65,7 @@ def abort(request, deployment_id):
|
|||||||
return HttpResponseBadRequest("deployment is unabortable")
|
return HttpResponseBadRequest("deployment is unabortable")
|
||||||
|
|
||||||
res = AbortableAsyncResult(str(deployment.task_id))
|
res = AbortableAsyncResult(str(deployment.task_id))
|
||||||
|
progress = res.info.get("progress", 0)
|
||||||
res.abort()
|
res.abort()
|
||||||
res.revoke(terminate=True)
|
res.revoke(terminate=True)
|
||||||
|
|
||||||
@ -72,6 +74,24 @@ def abort(request, deployment_id):
|
|||||||
deployment.task_id = None
|
deployment.task_id = None
|
||||||
deployment.save()
|
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}")
|
return HttpResponseRedirect(f"/deployment/{deployment.id}")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user