2015-05-20 4 views
2

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

У меня есть срок для задания, и я хочу, чтобы он отправил его в указанную дату, но за 1 час до его появления.

I'have должен создавать пользовательские команды

notify.py

class Command(BaseCommand): 
    help = 'Email notification' 

    def handle(self, *args, **options): 
     Job.generate_emails() 

models.py

@classmethod 
    def generate_emails(cls): 
     pass 

Вот что I'have сделано до сих пор.

+1

Использование сельдерея. http://celery.readthedocs.org/en/latest/ – ruddra

+1

Я бы предложил https://github.com/arteria/django-background-tasks – taesu

ответ

1

Для простых задач я предпочитаю сделать небольшой custom admin command и добавить работу cron на сервере.

Если задача не такая повторяющаяся, вы можете добавить дополнительную команду, которая будет выполняться часто и очистит небольшую очередь задач, например, чтобы проверить, нужно ли отправлять письмо.

В качестве альтернативы имеются такие пакеты, как Celery, поскольку @ruddra уже любезно указана (сельдерей не поддерживал Python 3.4 в последний раз, когда я проверял).

+0

Большое спасибо! – nope

Смежные вопросы