A 将自动删除超过一周且已读的系统通知

pull/462/head
vapao 2022-03-06 23:16:01 +08:00
parent c08fad5b35
commit 78702006c7
1 changed files with 10 additions and 7 deletions

View File

@ -4,20 +4,23 @@
from django.db import connections from django.db import connections
from apps.account.models import History from apps.account.models import History
from apps.alarm.models import Alarm 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.deploy.models import DeployRequest
from apps.exec.models import ExecHistory from apps.exec.models import ExecHistory
from apps.notify.models import Notify
from apps.deploy.utils import dispatch 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 datetime import datetime, timedelta
from threading import Thread from threading import Thread
def auto_run_by_day(): def auto_run_by_day():
try: try:
date = datetime.now() - timedelta(days=30) date_7 = human_date(datetime.now() - timedelta(days=7))
History.objects.filter(created_at__lt=date.strftime('%Y-%m-%d')).delete() date_30 = human_date(datetime.now() - timedelta(days=30))
Alarm.objects.filter(created_at__lt=date.strftime('%Y-%m-%d')).delete() 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: try:
record = ExecHistory.objects.all()[50] record = ExecHistory.objects.all()[50]
ExecHistory.objects.filter(id__lt=record.id).delete() ExecHistory.objects.filter(id__lt=record.id).delete()
@ -25,8 +28,8 @@ def auto_run_by_day():
pass pass
for task in Task.objects.all(): for task in Task.objects.all():
try: try:
record = History.objects.filter(task_id=task.id)[50] record = TaskHistory.objects.filter(task_id=task.id)[50]
History.objects.filter(task_id=task.id, id__lt=record.id).delete() TaskHistory.objects.filter(task_id=task.id, id__lt=record.id).delete()
except IndexError: except IndexError:
pass pass
finally: finally: