2017-02-13 15 views
0

У меня есть приложение Django, развернутое на Heroku, используя 1 веб-дино, в основном просто хостинг веб-сайта, где люди могут зарегистрироваться, а затем приложение может отправлять электронные письма этим людям.Как периодически запускать задачу Django на Heroku?

Сейчас я отправляю все электронные письма вручную; Я хожу в django shell каждый раз на сервере heroku, и вызываю функцию, как a.send_customized_email()

Мне интересно, как заставить планировщик отправлять электронные письма периодически без кодирования в командах в бэкэнд каждый раз?

Я слышал о сельдерее Django, но как его интегрировать? Должен ли я запускать еще один динозавр? Какими должны быть файлы конфигурации?

Заранее спасибо.

ответ

0

В settings.py файле вы можете использовать

from celery.schedules import crontab 

app.conf.beat_schedule = { 
    # Executes every Monday morning at 7:30 a.m. 
    'add-every-monday-morning': { 
     'task': 'a.tasks.send_customized_email()', 
     'schedule': crontab(hour=7, minute=30, day_of_week=1), 
     'args': (16, 16), 
    }, 
} 

и в файле tasks.py вы можете указать, что send_customized_email() является