minioTimingService.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. from django.conf import settings
  2. from minio import Minio
  3. from backend.models import DocumentKbm, Knowledgebase
  4. from datetime import datetime, timedelta, time
  5. from django.db import transaction
  6. import logging
  7. minio_client = Minio(
  8. settings.MINIO_ENDPOINT,
  9. access_key=settings.MINIO_ACCESS_KEY,
  10. secret_key=settings.MINIO_SECRET_KEY,
  11. secure=settings.MINIO_SECURE
  12. )
  13. # 配置日志记录
  14. logging.basicConfig(level=logging.INFO)
  15. logger = logging.getLogger(__name__)
  16. class minioTimingService:
  17. @staticmethod
  18. @transaction.atomic
  19. def rmMiniInfo():
  20. three_months_ago = datetime.now() - timedelta(days=90)
  21. print(three_months_ago)
  22. results = DocumentKbm.objects.filter(status=4, create_time__lt=three_months_ago)
  23. print("results",results)
  24. if results.exists():
  25. for result in results:
  26. kb = Knowledgebase.objects.filter(id=result.kb_id).first()
  27. bucket_name = kb.location
  28. object_name = result.location
  29. minio_client.remove_object(bucket_name, object_name)
  30. logger.info("执行清理任务, 时间: %s", datetime.now())