diff --git a/spug_api/apps/schedule/builtin.py b/spug_api/apps/schedule/builtin.py index 64d4828..54effa2 100644 --- a/spug_api/apps/schedule/builtin.py +++ b/spug_api/apps/schedule/builtin.py @@ -4,20 +4,23 @@ from django.db import connections from apps.account.models import History from apps.alarm.models import Alarm -from apps.schedule.models import Task +from apps.schedule.models import Task, History as TaskHistory from apps.deploy.models import DeployRequest from apps.exec.models import ExecHistory +from apps.notify.models import Notify from apps.deploy.utils import dispatch -from libs.utils import parse_time, human_datetime +from libs.utils import parse_time, human_datetime, human_date from datetime import datetime, timedelta from threading import Thread def auto_run_by_day(): try: - date = datetime.now() - timedelta(days=30) - History.objects.filter(created_at__lt=date.strftime('%Y-%m-%d')).delete() - Alarm.objects.filter(created_at__lt=date.strftime('%Y-%m-%d')).delete() + date_7 = human_date(datetime.now() - timedelta(days=7)) + date_30 = human_date(datetime.now() - timedelta(days=30)) + History.objects.filter(created_at__lt=date_30).delete() + Notify.objects.filter(created_at__lt=date_7, unread=False).delete() + Alarm.objects.filter(created_at__lt=date_30).delete() try: record = ExecHistory.objects.all()[50] ExecHistory.objects.filter(id__lt=record.id).delete() @@ -25,8 +28,8 @@ def auto_run_by_day(): pass for task in Task.objects.all(): try: - record = History.objects.filter(task_id=task.id)[50] - History.objects.filter(task_id=task.id, id__lt=record.id).delete() + record = TaskHistory.objects.filter(task_id=task.id)[50] + TaskHistory.objects.filter(task_id=task.id, id__lt=record.id).delete() except IndexError: pass finally: