Сельдерей Отправить электронное письмо в дату выполнения

Отправка электронной почты пользователям на основе даты выполнения в модели с использованием celery, дата выполнения отличается от даты создания задачи

Models.py

class Task(BaseModel):
    name = models.CharField(max_length=255)
    due_date = models.DateField(blank=True, null=True)
@shared_task
def send_email():
    today = datetime.now()
    tasks = Task.objects.filter(due_date__date=today)
    for task in tasks:
        # Send email task

Запускайте эту задачу ежедневно. Celery Beat упрощает выполнение периодических задач - https://docs.celeryq.dev/en/stable/userguide/periodic-tasks.html#beat-custom-schedulers

Вернуться на верх