ComicMTL / worker /jobs /session.py
BloodyInside's picture
firsty
947c08e
raw
history blame
749 Bytes
import environ
from backend.module.utils import date_utils
from django.contrib.sessions.models import Session
from django.views.decorators.csrf import csrf_exempt
from django_ratelimit.decorators import ratelimit
from django.http import HttpResponse, JsonResponse, HttpResponseBadRequest
env = environ.Env()
@ratelimit(key='ip', rate='10/m')
@csrf_exempt
def delete_outdated(request):
if request.method != "POST": return HttpResponseBadRequest('Allowed POST request only!', status=400)
if request.headers.get("Worker-Token") != env("WORKER_TOKEN"): return HttpResponseBadRequest('Request Forbidden!', status=403)
Session.objects.filter(expire_date__lte=date_utils.utc_time().get()).delete()
return JsonResponse({"status":True})