fix: 修复清除日志报错的缺陷
--bug=1049704 --user=王孝刚 【应用】日志清除策略没生效 https://www.tapd.cn/57709429/s/1620515
This commit is contained in:
parent
b43f03152c
commit
f0fecf455f
@ -4,6 +4,7 @@ import logging
|
|||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
|
from django.db.models.fields.json import KeyTextTransform
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from apscheduler.schedulers.background import BackgroundScheduler
|
from apscheduler.schedulers.background import BackgroundScheduler
|
||||||
from django_apscheduler.jobstores import DjangoJobStore
|
from django_apscheduler.jobstores import DjangoJobStore
|
||||||
@ -11,6 +12,8 @@ from application.models import Application, Chat
|
|||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from common.lock.impl.file_lock import FileLock
|
from common.lock.impl.file_lock import FileLock
|
||||||
from dataset.models import File
|
from dataset.models import File
|
||||||
|
from django.db.models.functions import Cast
|
||||||
|
from django.db import models
|
||||||
|
|
||||||
scheduler = BackgroundScheduler()
|
scheduler = BackgroundScheduler()
|
||||||
scheduler.add_jobstore(DjangoJobStore(), "default")
|
scheduler.add_jobstore(DjangoJobStore(), "default")
|
||||||
@ -40,7 +43,7 @@ def clean_chat_log_job():
|
|||||||
break
|
break
|
||||||
deleted_count, _ = Chat.objects.filter(id__in=logs_to_delete).delete()
|
deleted_count, _ = Chat.objects.filter(id__in=logs_to_delete).delete()
|
||||||
# 删除对应的文件
|
# 删除对应的文件
|
||||||
File.objects.filter(~Q(meta__chat_id__in=logs_to_delete)).delete()
|
File.objects.filter(meta__chat_id__in=[str(uuid) for uuid in logs_to_delete]).delete()
|
||||||
if deleted_count < batch_size:
|
if deleted_count < batch_size:
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user