From f0fecf455fb6895d5b723fb27ccf65a64c6aafe2 Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Thu, 28 Nov 2024 17:52:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=B8=85=E9=99=A4?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=8A=A5=E9=94=99=E7=9A=84=E7=BC=BA=E9=99=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1049704 --user=王孝刚 【应用】日志清除策略没生效 https://www.tapd.cn/57709429/s/1620515 --- apps/common/job/clean_chat_job.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/common/job/clean_chat_job.py b/apps/common/job/clean_chat_job.py index 332beee18..d42c39982 100644 --- a/apps/common/job/clean_chat_job.py +++ b/apps/common/job/clean_chat_job.py @@ -4,6 +4,7 @@ import logging import datetime from django.db import transaction +from django.db.models.fields.json import KeyTextTransform from django.utils import timezone from apscheduler.schedulers.background import BackgroundScheduler from django_apscheduler.jobstores import DjangoJobStore @@ -11,6 +12,8 @@ from application.models import Application, Chat from django.db.models import Q from common.lock.impl.file_lock import FileLock from dataset.models import File +from django.db.models.functions import Cast +from django.db import models scheduler = BackgroundScheduler() scheduler.add_jobstore(DjangoJobStore(), "default") @@ -40,7 +43,7 @@ def clean_chat_log_job(): break 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: break