Fixes on periodic tasks
This commit is contained in:
parent
0d63a4ddad
commit
c6c58d7d97
7
TODO.md
7
TODO.md
|
@ -314,8 +314,6 @@ https://code.djangoproject.com/ticket/24576
|
|||
# inspecting django db connection for asserting db readines? or performing a query
|
||||
# wake up django mailer on send_mail
|
||||
|
||||
# all signals + accouns.register() services.register() on apps.py
|
||||
|
||||
from orchestra.contrib.tasks import task
|
||||
import time, sys
|
||||
@task(name='rata')
|
||||
|
@ -355,3 +353,8 @@ make django admin taskstate uncollapse fucking traceback, ( if exists ?)
|
|||
# backend.context and backned.instance provided when an action is called? like forms.cleaned_data: do it on manager.generation(backend.context = backend.get_context()) or in backend.__getattr__ ? also backend.head,tail,content switching on manager.generate()?
|
||||
|
||||
resorce monitoring more efficient, less mem an better queries for calc current data
|
||||
|
||||
# best_price rating method
|
||||
|
||||
|
||||
# error reporting on periodic tasks
|
||||
|
|
|
@ -94,6 +94,7 @@ class crontab_parser(object):
|
|||
'Invalid beginning range: {0} < {1}.'.format(i, self.min_))
|
||||
return i
|
||||
|
||||
|
||||
class Setting(object):
|
||||
def __init__(self, manage):
|
||||
self.manage = manage
|
||||
|
|
|
@ -7,5 +7,5 @@ MAILER_DEFERE_SECONDS = Setting('MAILER_DEFERE_SECONDS',
|
|||
|
||||
|
||||
MAILER_MESSAGES_CLEANUP_DAYS = Setting('MAILER_MESSAGES_CLEANUP_DAYS',
|
||||
10
|
||||
7
|
||||
)
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
from datetime import timedelta
|
||||
|
||||
from django.utils import timezone
|
||||
from celery.task.schedules import crontab
|
||||
|
||||
from orchestra.contrib.tasks import task, periodic_task
|
||||
|
||||
from . import engine
|
||||
from . import engine, settings
|
||||
|
||||
|
||||
@task
|
||||
|
@ -17,4 +19,4 @@ def cleanup_messages():
|
|||
delta = timedelta(days=settings.MAILER_MESSAGES_CLEANUP_DAYS)
|
||||
now = timezone.now()
|
||||
epoch = (now-delta)
|
||||
Message.objects.filter(state=Message.SENT, last_retry__lt=epoc).delete()
|
||||
return Message.objects.filter(state=Message.SENT, last_retry__lt=epoch).delete()
|
||||
|
|
|
@ -39,5 +39,5 @@ ORCHESTRATION_DISABLE_EXECUTION = Setting('ORCHESTRATION_DISABLE_EXECUTION',
|
|||
|
||||
|
||||
ORCHESTRATION_BACKEND_CLEANUP_DAYS = Setting('ORCHESTRATION_BACKEND_CLEANUP_DAYS',
|
||||
15
|
||||
7
|
||||
)
|
||||
|
|
|
@ -5,6 +5,7 @@ from django.utils import timezone
|
|||
|
||||
from orchestra.contrib.tasks import periodic_task
|
||||
|
||||
from . import settings
|
||||
from .models import BackendLog
|
||||
|
||||
|
||||
|
@ -12,4 +13,4 @@ from .models import BackendLog
|
|||
def backend_logs_cleanup():
|
||||
days = settings.ORCHESTRATION_BACKEND_CLEANUP_DAYS
|
||||
epoch = timezone.now()-timedelta(days=days)
|
||||
BackendLog.objects.filter(created_at__lt=epoch).delete()
|
||||
return BackendLog.objects.filter(created_at__lt=epoch).delete()
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
from django.apps import AppConfig
|
||||
from django.utils.module_loading import autodiscover_modules
|
||||
|
||||
from orchestra.core import administration
|
||||
|
||||
|
@ -12,3 +13,4 @@ class TasksConfig(AppConfig):
|
|||
administration.register(TaskState, icon='Edit-check-sheet.png')
|
||||
administration.register(PeriodicTask, parent=TaskState, icon='Appointment.png')
|
||||
administration.register(WorkerState, parent=TaskState, dashboard=False)
|
||||
autodiscover_modules('tasks')
|
||||
|
|
Loading…
Reference in a new issue