add loop to check every hour if a user need to be deleted after not logging in for 2 years

This commit is contained in:
2024-10-01 01:48:55 +02:00
parent 54da3fb923
commit 8aaa7deec2
4 changed files with 38 additions and 3 deletions

View File

@ -13,11 +13,27 @@ from channels.routing import ProtocolTypeRouter, URLRouter
from django.urls import path
from django.core.asgi import get_asgi_application
from channels.sessions import SessionMiddlewareStack
from django.utils import timezone
from datetime import timedelta
from django.db import transaction
import threading
import time
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'server.settings')
from .websocket import WebsocketHandler
def deleteLoop():
while(True):
from .models import User
time.sleep(60 * 60)
limit = timezone.now() - timedelta(days=2 * 365)
with transaction.atomic():
User.objects.using('second').filter(last_login__lt=limit).delete()
threading.Thread(target=deleteLoop, daemon=True).start()
django = get_asgi_application()
application = ProtocolTypeRouter({