14729 review fixes

This commit is contained in:
Arthur 2024-01-18 11:57:39 -08:00
parent 56002b1984
commit f1e585c2b9
3 changed files with 32 additions and 19 deletions

View File

@ -4,20 +4,20 @@ from django.urls import reverse
from django.utils.html import mark_safe from django.utils.html import mark_safe
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from netbox.tables import NetBoxTable, columns from netbox.tables import BaseTable, NetBoxTable, columns
from utilities.templatetags.helpers import annotated_date from utilities.templatetags.helpers import annotated_date
from ..models import Job from ..models import Job
class BackgroundTasksTable(tables.Table): class BackgroundQueueTable(BaseTable):
name = tables.LinkColumn("core:background_tasks_queues", args=[A("index")], verbose_name=_("Name")) name = tables.LinkColumn("core:background_tasks_queues", args=[A("index")], verbose_name=_("Name"))
jobs = tables.LinkColumn("core:background_tasks_queues", args=[A("index")], verbose_name=_("Queued Jobs")) jobs = tables.LinkColumn("core:background_tasks_queues", args=[A("index")], verbose_name=_("Queued"))
oldest_job_timestamp = tables.Column(verbose_name=_("Oldest Queued Job")) oldest_job_timestamp = tables.Column(verbose_name=_("Oldest Queued"))
started_jobs = tables.Column(verbose_name=_("Active Jobs")) started_jobs = tables.Column(verbose_name=_("Active"))
deferred_jobs = tables.Column(verbose_name=_("Deferred Jobs")) deferred_jobs = tables.Column(verbose_name=_("Deferred"))
finished_jobs = tables.Column(verbose_name=_("Finished Jobs")) finished_jobs = tables.Column(verbose_name=_("Finished"))
failed_jobs = tables.Column(verbose_name=_("Failed Jobs")) failed_jobs = tables.Column(verbose_name=_("Failed"))
scheduled_jobs = tables.Column(verbose_name=_("Scheduled Jobs")) scheduled_jobs = tables.Column(verbose_name=_("Scheduled"))
workers = tables.Column(verbose_name=_("Workers")) workers = tables.Column(verbose_name=_("Workers"))
host = tables.Column(accessor="connection_kwargs__host", verbose_name=_("Host")) host = tables.Column(accessor="connection_kwargs__host", verbose_name=_("Host"))
port = tables.Column(accessor="connection_kwargs__port", verbose_name=_("Port")) port = tables.Column(accessor="connection_kwargs__port", verbose_name=_("Port"))
@ -25,13 +25,19 @@ class BackgroundTasksTable(tables.Table):
pid = tables.Column(accessor="scheduler__pid", verbose_name=_("Scheduler PID")) pid = tables.Column(accessor="scheduler__pid", verbose_name=_("Scheduler PID"))
class Meta: class Meta:
empty_text = _('No tasks found')
fields = (
'name', 'jobs', 'oldest_job_timestamp', 'started_jobs', 'deferred_jobs', 'finished_jobs', 'failed_jobs', 'scheduled_jobs', 'workers', 'host', 'port', 'db', 'pid',
)
default_columns = (
'name', 'jobs', 'oldest_job_timestamp', 'started_jobs', 'deferred_jobs', 'finished_jobs', 'failed_jobs', 'scheduled_jobs', 'workers', 'host', 'port', 'db', 'pid',
)
attrs = { attrs = {
'class': 'table table-hover object-list', 'class': 'table table-hover object-list',
} }
class BackgroundTasksQueueTable(tables.Table): class BackgroundTaskTable(BaseTable):
# id = tables.LinkColumn("core:background_tasks_queues", args=[A("index")], verbose_name=_("ID"))
id = tables.Column(empty_values=(), verbose_name=_("ID")) id = tables.Column(empty_values=(), verbose_name=_("ID"))
created_at = tables.Column(verbose_name=_("Created")) created_at = tables.Column(verbose_name=_("Created"))
enqueued_at = tables.Column(verbose_name=_("Enqueued")) enqueued_at = tables.Column(verbose_name=_("Enqueued"))
@ -40,6 +46,13 @@ class BackgroundTasksQueueTable(tables.Table):
callable = tables.Column(empty_values=(), verbose_name=_("Callable")) callable = tables.Column(empty_values=(), verbose_name=_("Callable"))
class Meta: class Meta:
empty_text = _('No queues found')
fields = (
'id', 'created_at', 'enqueued_at', 'ended_at', 'status', 'callable',
)
default_columns = (
'id', 'created_at', 'enqueued_at', 'ended_at', 'status', 'callable',
)
attrs = { attrs = {
'class': 'table table-hover object-list', 'class': 'table table-hover object-list',
} }

View File

@ -26,9 +26,9 @@ urlpatterns = (
path('jobs/<int:pk>/delete/', views.JobDeleteView.as_view(), name='job_delete'), path('jobs/<int:pk>/delete/', views.JobDeleteView.as_view(), name='job_delete'),
# Background Tasks # Background Tasks
path('background-tasks/', views.BackgroundTasksListView.as_view(), name='background_tasks_list'), path('background-queues/', views.BackgroundQueuesListView.as_view(), name='background_tasks_list'),
path('background-tasks/queues/<int:queue_index>/', views.BackgroundTasksQueueListView.as_view(), name='background_tasks_queues'), path('background-queues/<int:queue_index>/', views.BackgroundTasksListView.as_view(), name='background_tasks_queues'),
path('background-tasks/queues/<int:queue_index>/<str:job_id>/', views.BackgroundTasksJobDetailView.as_view(), name='background_tasks_job_detail'), path('background-tasks/<int:queue_index>/<str:job_id>/', views.BackgroundTaskDetailView.as_view(), name='background_tasks_job_detail'),
# Config revisions # Config revisions
path('config-revisions/', views.ConfigRevisionListView.as_view(), name='configrevision_list'), path('config-revisions/', views.ConfigRevisionListView.as_view(), name='configrevision_list'),

View File

@ -243,16 +243,16 @@ class ConfigRevisionRestoreView(ContentTypePermissionRequiredMixin, View):
# #
class BackgroundTasksListView(LoginRequiredMixin, View): class BackgroundQueuesListView(LoginRequiredMixin, View):
def get(self, request): def get(self, request):
table = tables.BackgroundTasksTable(get_statistics(run_maintenance_tasks=True)["queues"]) table = tables.BackgroundQueueTable(get_statistics(run_maintenance_tasks=True)["queues"])
return render(request, 'core/background_tasks.html', { return render(request, 'core/background_tasks.html', {
'table': table, 'table': table,
}) })
class BackgroundTasksQueueListView(LoginRequiredMixin, View): class BackgroundTasksListView(LoginRequiredMixin, View):
def get(self, request, queue_index): def get(self, request, queue_index):
queue_index = int(queue_index) queue_index = int(queue_index)
@ -263,14 +263,14 @@ class BackgroundTasksQueueListView(LoginRequiredMixin, View):
else: else:
jobs = [] jobs = []
table = tables.BackgroundTasksQueueTable(data=jobs, queue_index=queue_index) table = tables.BackgroundTaskTable(data=jobs, queue_index=queue_index)
return render(request, 'core/background_tasks_queue.html', { return render(request, 'core/background_tasks_queue.html', {
'table': table, 'table': table,
'queue': queue, 'queue': queue,
}) })
class BackgroundTasksJobDetailView(LoginRequiredMixin, View): class BackgroundTaskDetailView(LoginRequiredMixin, View):
def get(self, request, queue_index, job_id): def get(self, request, queue_index, job_id):
queue_index = int(queue_index) queue_index = int(queue_index)