Сельдерей: выполнить задание после определенного промежутка времени

Я хочу отправить электронное письмо своим пользователям ровно через 48 часов после их регистрации. Как мне добиться этого с помощью сельдерея? Если я создаю периодическое задание для отправки электронного письма, мне нужно будет выбрать конкретное время, в течение которого я хочу выполнить это задание. Я не хочу продолжать запускать задачу сельдерея каждую секунду, чтобы проверить, нужно ли отправлять письма.

1 ответ

Решение

Вы хотите использовать ETA. Прочтите этот раздел документации, так как там будет больше информации. Тем не менее, ваш код будет выглядеть примерно так:

from datetime import datetime, timedelta
send_date = datetime.utcnow() + timedelta(days=2)
email_user.apply_async([user], eta=send_date)
Другие вопросы по тегам