добавил отображение прогресса
All checks were successful
Deploy timelaps / deploy (push) Successful in 5s
All checks were successful
Deploy timelaps / deploy (push) Successful in 5s
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
{% if has_active_jobs %}
|
||||||
|
<meta http-equiv="refresh" content="5">
|
||||||
|
{% endif %}
|
||||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||||
<h2>Очередь задач</h2>
|
<h2>Очередь задач</h2>
|
||||||
<div class="d-flex gap-2">
|
<div class="d-flex gap-2">
|
||||||
@@ -56,12 +59,19 @@
|
|||||||
<td>{{ job.get_sampling_preset_display }}</td>
|
<td>{{ job.get_sampling_preset_display }}</td>
|
||||||
<td>{{ job.fps }}</td>
|
<td>{{ job.fps }}</td>
|
||||||
<td>{{ job.get_status_display }}</td>
|
<td>{{ job.get_status_display }}</td>
|
||||||
<td>
|
<td style="min-width: 170px;">
|
||||||
{% if job.status == 'success' %}
|
<div class="progress" role="progressbar" aria-valuenow="{{ job.progress_percent }}" aria-valuemin="0" aria-valuemax="100">
|
||||||
100%
|
<div
|
||||||
{% else %}
|
class="progress-bar {% if job.status == 'error' %}bg-danger{% elif job.status == 'success' %}bg-success{% else %}progress-bar-striped progress-bar-animated{% endif %}"
|
||||||
{{ job.progress_percent }}%
|
style="width: {% if job.status == 'success' %}100{% else %}{{ job.progress_percent }}{% endif %}%"
|
||||||
{% endif %}
|
>
|
||||||
|
{% if job.status == 'success' %}
|
||||||
|
100%
|
||||||
|
{% else %}
|
||||||
|
{{ job.progress_percent }}%
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{% if job.status == 'error' and job.error_message %}
|
{% if job.status == 'error' and job.error_message %}
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ def job_list(request):
|
|||||||
if camera_id:
|
if camera_id:
|
||||||
qs = qs.filter(camera_id=camera_id)
|
qs = qs.filter(camera_id=camera_id)
|
||||||
jobs = qs.order_by('-created_at')[:200]
|
jobs = qs.order_by('-created_at')[:200]
|
||||||
|
has_active_jobs = qs.filter(status__in=[TimelapseJob.Status.PLANNED, TimelapseJob.Status.RUNNING]).exists()
|
||||||
return render(
|
return render(
|
||||||
request,
|
request,
|
||||||
'camlaps/job_list.html',
|
'camlaps/job_list.html',
|
||||||
@@ -71,6 +72,7 @@ def job_list(request):
|
|||||||
'jobs': jobs,
|
'jobs': jobs,
|
||||||
'queue_started': request.GET.get('started'),
|
'queue_started': request.GET.get('started'),
|
||||||
'retried': request.GET.get('retried'),
|
'retried': request.GET.get('retried'),
|
||||||
|
'has_active_jobs': has_active_jobs,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user