mirror of
https://github.com/django-q2/django-q2.git
synced 2026-09-30 09:48:12 +08:00
Added admin pages for failures and success.
SAVE_LIMIT can now be set to limit the amount of saved tasks results.
This commit is contained in:
+34
-3
@@ -1,20 +1,51 @@
|
||||
from django.db import models
|
||||
import socket
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from picklefield import PickledObjectField
|
||||
|
||||
|
||||
class Task(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
func = models.CharField(max_length=256)
|
||||
task = PickledObjectField()
|
||||
args = PickledObjectField()
|
||||
kwargs = PickledObjectField()
|
||||
result = PickledObjectField()
|
||||
started = models.DateTimeField()
|
||||
stopped = models.DateTimeField()
|
||||
success = models.BooleanField(default=True)
|
||||
|
||||
@staticmethod
|
||||
def get_result(name):
|
||||
return Task.objects.filter(name=name).values_list('result', flat=True)
|
||||
|
||||
def time_taken(self):
|
||||
return (self.stopped - self.started).total_seconds()
|
||||
|
||||
class Meta:
|
||||
app_label = 'django_q'
|
||||
|
||||
|
||||
class SuccessManager(models.Manager):
|
||||
def get_queryset(self):
|
||||
return super(SuccessManager, self).get_queryset().filter(
|
||||
success=True)
|
||||
|
||||
|
||||
class Success(Task):
|
||||
objects = SuccessManager()
|
||||
|
||||
class Meta:
|
||||
app_label = 'django_q'
|
||||
proxy = True
|
||||
|
||||
|
||||
class FailureManager(models.Manager):
|
||||
def get_queryset(self):
|
||||
return super(FailureManager, self).get_queryset().filter(
|
||||
success=False)
|
||||
|
||||
|
||||
class Failure(Task):
|
||||
objects = FailureManager()
|
||||
|
||||
class Meta:
|
||||
app_label = 'django_q'
|
||||
proxy = True
|
||||
|
||||
Reference in New Issue
Block a user