2016-01-07 5 views
0

Я новичок в Pythonm, GoogleAppEngine и в значительной степени webdev в целом, так что это может быть глупый вопрос, но у меня мало времени, и я не могу найти что-либо по этому вопросу. Я использую webapp2 и jinja2 вместе с Python и GAE.Логика на стороне сервера GoogleAppEngine Python?

У меня есть задание сделать простое приложение, где администратор может публиковать объявления о событиях, и зарегистрированные пользователи могут присоединиться к ним. То, что я не знаю, как реализовать, заключается в том, что в определенное время до возникновения события (администратор указывает дату) электронное письмо отправляется всем пользователям, присоединившимся к событию.

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

ответ

1

Программа cron - популярная утилита UNIX для планирования задач, выполняемых с предопределенными интервалами.

Вы можете использовать «задание cron» в своем приложении GAE для реализации требуемых функций.

See the documentation here.

В принципе, можно определить обработчик в приложении, которое отвечает на запрос GET и сопоставить его в конечную точку, как «/ хрон/send_reminder». Затем вы делаете запись в cron.yaml, которая инструктирует приложение вызывать обработчик (используя HTTP-запрос) через определенные промежутки времени.

Внутри вашего обработчика вам понадобится логика, чтобы извлечь из хранилища данных список событий, в которых есть пользователи, которым еще не напомнили. Затем вы отправите свои письма и отметьте эти события как выполненные.

Сценарий cron постоянно работает в фоновом режиме, даже если список событий, которые требуют напоминания, пуст.