remove upload files that went beyond their keep_until (#116 / #90, WiP)

django-3.2
Hartmut Holzgraefe 2023-09-22 07:41:21 +00:00
rodzic 4080469a5c
commit 366a62c3d4
1 zmienionych plików z 14 dodań i 4 usunięć

Wyświetl plik

@ -29,17 +29,20 @@ import threading
import time
from functools import reduce
import glob
from datetime import datetime
import django
django.setup()
from www.maposmatic.models import MapRenderingJob
from www.settings import RENDERING_RESULT_PATH, RENDERING_RESULT_MAX_SIZE_GB, RENDERING_RESULT_MAX_PURGE_ITERATIONS
from www.maposmatic.models import MapRenderingJob, UploadFile
from www.settings import RENDERING_RESULT_PATH, RENDERING_RESULT_MAX_SIZE_GB, RENDERING_RESULT_MAX_PURGE_ITERATIONS, MEDIA_ROOT
import render
from django import db
LOG = logging.getLogger('maposmatic')
_DEFAULT_POLL_FREQUENCY = 10 # Daemon job polling frequency, in seconds
_RESULT_MSGS = {
@ -265,9 +268,16 @@ class RenderingsGarbageCollector:
pass
# records = UploadFile.objects.filter(keep_until__lte = datetime.now())
# for record in records:
LOG.info("Cleanup remove old upload files")
files = UploadFile.objects.filter(keep_until__lte = datetime.now())
for file in files:
try:
os.remove(os.path.join(MEDIA_ROOT, file.uploaded_file.name))
LOG.info("Cleanup: removed %s" % file.upload_file.name)
except:
pass
if __name__ == '__main__':
if (not os.path.exists(RENDERING_RESULT_PATH)