From 421eecd0ea3b776c0424118619f67d23aa7a3e15 Mon Sep 17 00:00:00 2001 From: Ilan Steemers Date: Fri, 24 Jul 2015 14:57:33 +0200 Subject: [PATCH 1/4] monitor TQ will indicate green when `queue_limit` has been reached. --- django_q/monitor.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/django_q/monitor.py b/django_q/monitor.py index 02d6a59..e7d3a99 100644 --- a/django_q/monitor.py +++ b/django_q/monitor.py @@ -53,9 +53,11 @@ def monitor(run_once=False): elif stat.status == Conf.IDLE: status = str(Conf.IDLE) # color q's - tasks = stat.task_q_size - if tasks > 0: - tasks = term.cyan(str(tasks)) + tasks = str(stat.task_q_size) + if stat.task_q_size > 0: + tasks = term.cyan(str(stat.task_q_size)) + if Conf.QUEUE_LIMIT and stat.task_q_size == Conf.QUEUE_LIMIT: + tasks = term.green(str(stat.task_q_size)) results = stat.done_q_size if results > 0: results = term.cyan(str(results)) From ac41d50bf2cbcce3f23ab44f81810d89f62498b2 Mon Sep 17 00:00:00 2001 From: Ilan Date: Fri, 24 Jul 2015 20:47:35 +0200 Subject: [PATCH 2/4] adds group filter to admin --- django_q/admin.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/django_q/admin.py b/django_q/admin.py index 2f80ade..3fbfdce 100644 --- a/django_q/admin.py +++ b/django_q/admin.py @@ -26,6 +26,7 @@ class TaskAdmin(admin.ModelAdmin): search_fields = ('name', 'func', 'group') readonly_fields = [] + list_filter = ('group',) def get_readonly_fields(self, request, obj=None): return list(self.readonly_fields) + \ @@ -56,6 +57,7 @@ class FailAdmin(admin.ModelAdmin): actions = [retry_failed] search_fields = ('name', 'func') + list_filter = ('group',) readonly_fields = [] def get_readonly_fields(self, request, obj=None): From cb4555d9eb53e1833995a7da9c1d87ab263ff071 Mon Sep 17 00:00:00 2001 From: Ilan Date: Sat, 25 Jul 2015 16:58:48 +0200 Subject: [PATCH 3/4] Updated future==0.15.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index a7c1cfa..83e7e99 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ arrow==0.6.0 blessed==1.9.5 django-picklefield==0.3.1 django-redis==4.2.0 -future==0.14.3 +future==0.15.0 hiredis==0.2.0 msgpack-python==0.4.6 # via django-redis psutil==3.1.1 From 0919d546abbf5e70e2d6226ea804f6b7fd5a2efc Mon Sep 17 00:00:00 2001 From: Ilan Date: Sat, 25 Jul 2015 17:01:06 +0200 Subject: [PATCH 4/4] docstring linting --- django_q/admin.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/django_q/admin.py b/django_q/admin.py index 3fbfdce..f03e90f 100644 --- a/django_q/admin.py +++ b/django_q/admin.py @@ -1,3 +1,4 @@ +"""Admin module for Django.""" from django.contrib import admin from django.utils.translation import ugettext_lazy as _ @@ -6,6 +7,9 @@ from .models import Success, Failure, Schedule class TaskAdmin(admin.ModelAdmin): + + """model admin for success tasks.""" + list_display = ( u'name', 'func', @@ -16,11 +20,11 @@ class TaskAdmin(admin.ModelAdmin): ) def has_add_permission(self, request, obj=None): - """Don't allow adds""" + """Don't allow adds.""" return False def get_queryset(self, request): - """Only show successes""" + """Only show successes.""" qs = super(TaskAdmin, self).get_queryset(request) return qs.filter(success=True) @@ -29,11 +33,13 @@ class TaskAdmin(admin.ModelAdmin): list_filter = ('group',) def get_readonly_fields(self, request, obj=None): - return list(self.readonly_fields) + \ - [field.name for field in obj._meta.fields] + """Set all fields readonly.""" + return list(self.readonly_fields) +\ + [field.name for field in obj._meta.fields] def retry_failed(FailAdmin, request, queryset): + """Submit selected tasks back to the queue.""" for task in queryset: async(task.func, *task.args or (), hook=task.hook, **task.kwargs or {}) task.delete() @@ -43,6 +49,9 @@ retry_failed.short_description = _("Resubmit selected tasks to queue") class FailAdmin(admin.ModelAdmin): + + """model admin for failed tasks.""" + list_display = ( 'name', 'func', @@ -52,7 +61,7 @@ class FailAdmin(admin.ModelAdmin): ) def has_add_permission(self, request, obj=None): - """Don't allow adds""" + """Don't allow adds.""" return False actions = [retry_failed] @@ -61,11 +70,15 @@ class FailAdmin(admin.ModelAdmin): readonly_fields = [] def get_readonly_fields(self, request, obj=None): + """Set all fields readonly.""" return list(self.readonly_fields) + \ - [field.name for field in obj._meta.fields] + [field.name for field in obj._meta.fields] class ScheduleAdmin(admin.ModelAdmin): + + """ model admin for schedules """ + list_display = ( 'id', 'name',