Я пытаюсь выполнить периодическую задачу, используя сельдерей, чтобы удалить пользователей, которые вовремя не активировали свою учетную запись. На приведенном ниже снимке экрана показано, что задача обнаружена и выполнена правильно, но когда я проверяю базу данных, никаких изменений не происходит.
Задача сельдерея:
#tasks.py
from celery.task.schedules import crontab
from celery.decorators import periodic_task
from celery.utils.log import get_task_logger
from .utils import unconfirmed_users_delete
logger = get_task_logger(__name__)
# A periodic task that will run every minute (the symbol "*" means every)
@periodic_task(run_every=(crontab(hour="*", minute="*", day_of_week="*")))
def delete_unconfirmed_users():
return unconfirmed_users_delete()
Набор запросов для выполнения (проверен в оболочке django и работает правильно):
#utils.py
from django.contrib.auth.models import User
from django.utils import timezone
def unconfirmed_users_delete():
return User.objects.filter(is_active=False).filter(profile__key_expires__lt=timezone.now()).delete()
Задача корректно вызывается каждую минуту:
Что может быть не так?