labelbase/django/background_task/admin.py

42 lines
1.2 KiB
Python
Raw Permalink Normal View History

2023-11-02 00:10:07 +01:00
# -*- coding: utf-8 -*-
from django.contrib import admin
from background_task.models import Task
from background_task.models import CompletedTask
def inc_priority(modeladmin, request, queryset):
for obj in queryset:
obj.priority += 1
obj.save()
2024-02-10 00:39:17 +01:00
2023-11-02 00:10:07 +01:00
inc_priority.short_description = "priority += 1"
2024-02-10 00:30:50 +01:00
2023-11-02 00:10:07 +01:00
def dec_priority(modeladmin, request, queryset):
for obj in queryset:
obj.priority -= 1
obj.save()
2024-02-10 00:39:17 +01:00
2023-11-02 00:10:07 +01:00
dec_priority.short_description = "priority -= 1"
2024-02-10 00:30:50 +01:00
2023-11-02 00:10:07 +01:00
class TaskAdmin(admin.ModelAdmin):
2024-02-10 00:30:50 +01:00
display_filter = ['task_name', 'repeat',]
2023-11-02 00:10:07 +01:00
search_fields = ['task_name', 'task_params', ]
2024-02-10 00:30:50 +01:00
list_display = ['task_name', 'task_params', 'run_at', 'repeat', 'priority',
2024-02-10 00:42:35 +01:00
'attempts', 'has_error', 'locked_by', 'locked_by_pid_running', ]
2023-11-02 00:10:07 +01:00
actions = [inc_priority, dec_priority]
2024-02-10 00:30:50 +01:00
2023-11-02 00:10:07 +01:00
class CompletedTaskAdmin(admin.ModelAdmin):
display_filter = ['task_name']
search_fields = ['task_name', 'task_params', ]
2024-02-10 00:30:50 +01:00
list_display = ['task_name', 'task_params', 'run_at', 'repeat', 'priority',
2024-02-10 00:42:35 +01:00
'attempts', 'has_error', 'locked_by', 'locked_by_pid_running', ]
2023-11-02 00:10:07 +01:00
admin.site.register(Task, TaskAdmin)
admin.site.register(CompletedTask, CompletedTaskAdmin)