Задать вопрос
@undeadter

Как запустить задачу Celery с отсрочкой по времени?

Есть Django модель, которая имеет поле is_activated. При создании нового объекта модели is_activated автоматически принимает значение False. Чтобы данное поле стало True пользователь должен в течении 20 минут выполнить определенное условие. Если в течении 20 минут пользователь не выполнил данное условию - удалять аккаунт.

Можно ли задать для задачи таймер отсрочку исполнения задачи. Т.е. поставить задачу в очередь только через 20 минут после сохранения объекта модели для проверки is_activated.

Или лучше выполнять задачу каждые n-секунд и проверять время создания обьекта модели?
Или есть более лучшие решения данной задачи?
  • Вопрос задан
  • 1846 просмотров
Подписаться 1 Простой Комментировать
Ответ пользователя Иван Шумов К ответам на вопрос (4)
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Добавьте поле expired_at и по нему блокируете попытки авторизоваться после его истечения. А чистить аккаунты можно по cron хоть раз в минуту
Ответ написан
Комментировать