Имеется небольшая партнерка в которой почти каждое действие предусматривает E-mail уведомление, начиная с регистрации.
Сейчас после каждого действия идет обращение в функцию, которая формирует тело письма и отправляет через сторонний SMTP, проблема в том, что возникает видимая задержка именно на моменте отправки и по-моему такого быть не должно, как в ваших проектах работают E-mail уведомления?
Мне в голову пришла пока только одна мысль - сохранять письмо в БД, написать скрипт который будет запускаться CRON-ом (каждую минуту?) и сканировать БД на наличие неотправленных писем, ну и рассылать по очереди через ту же функцию...
- насколько это правильно? С большим количеством уведомлений раньше не приходилось работать...
Т.е. по сути логика похожа, но только нет нужды хранить сообщения в БД и вечно их оттуда выциплять CRON-ом я правильно понял? Я там прочитал еще про ruhighload.com/post/%D0%9A%D0%B0%D0%BA+%D0%B7%D0%B... - Вы пользовались? Судя по описанию идеальная замена CRON'у?
Я уже прочитал и мне понравилось, вопрос еще в Supervisord, очень заинтересовал он меня. Есть некая функция которая вызывается CRON-ом раз в 1 минуту, также сканирует таблицу с пользователями, отмечая "неактивных", если я правильно понимаю вызов этой функции можно смело возложить на Supervisord, отказавшись от CRON-а ??