authentik/passbook/core/tasks.py

17 lines
457 B
Python
Raw Normal View History

"""passbook core tasks"""
2019-10-01 09:24:10 +01:00
from structlog import get_logger
from passbook.core.models import ExpiringModel
from passbook.root.celery import CELERY_APP
LOGGER = get_logger()
2019-12-31 11:51:16 +00:00
@CELERY_APP.task()
def clean_expired_models():
"""Remove expired objects"""
for cls in ExpiringModel.__subclasses__():
cls: ExpiringModel
amount, _ = cls.filter_not_expired().delete()
LOGGER.debug("Deleted expired models", model=cls, amount=amount)