From bed64c731371cbe102b8d7c94716153ea0fcbf01 Mon Sep 17 00:00:00 2001 From: Ilan Steemers Date: Thu, 18 Jun 2015 17:03:34 +0200 Subject: [PATCH] Added re-submit function to Failed Task admin --- django_q/admin.py | 11 ++++++++++- django_q/models.py | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/django_q/admin.py b/django_q/admin.py index a39aac5..ad0180a 100644 --- a/django_q/admin.py +++ b/django_q/admin.py @@ -1,5 +1,7 @@ from django.contrib import admin +from django_q import async + from .models import Success, Failure @@ -29,7 +31,9 @@ class TaskAdmin(admin.ModelAdmin): def retry_failed(FailAdmin, request, queryset): - pass + for task in queryset: + async(task.func, *task.args, hook=task.hook, **task.kwargs) + task.delete() retry_failed.short_description = "Resubmit selected tasks to Q" @@ -42,6 +46,11 @@ class FailAdmin(admin.ModelAdmin): 'started', 'result' ) + + def has_add_permission(self, request, obj=None): + """Don't allow adds""" + return False + actions = [retry_failed] search_fields = ['name'] readonly_fields = [] diff --git a/django_q/models.py b/django_q/models.py index bf36334..622747a 100644 --- a/django_q/models.py +++ b/django_q/models.py @@ -54,6 +54,7 @@ class Success(Task): class Meta: app_label = 'django_q' + verbose_name = 'Successful task' proxy = True @@ -68,4 +69,5 @@ class Failure(Task): class Meta: app_label = 'django_q' + verbose_name = 'Failed task' proxy = True