Ошибка при рассылка большому кол-ву пользователей
2
Столкнулся на «Новой музыке» с такой неприятной проблемой: вот подписаны у меня на блог/форум 700-1500 пользователей… Если поставить им всем уведомление на появление нового топика, то phpmailer (по smtp) не справляется с отправкой, через nn секунд вылетает ошибка 500 сервера… Как нибудь можно всю отправку почты оформить в фоновый режим?
- +3
- 22 декабря 2008, 23:13
- Covax
Можно попробовать так:
Выносишь Функцию отправки в отдельный скрипт, а потом при создании топика выполняешь
$iTopicId = 1;
$result = exec("/usr/local/bin/php mailing_topic.php $iTopicId",$aResult);
Кирилл, напомни, как в php ставить паузу, скажем после каждой отправки скрипт должен засыпать на 3 секунды… Вообще есть хорошие скрипты рассылок на php поковыряться, посоветуйте?
если делать через exec, то он вроде как будет ждать отработки команды. Здесь можно форкнуть процесс для рассылки.
Но лучшим решение будет таким: при создании топика не производить отправку уведомлений, а писать их в отдельную таблицу. Каждые n минут стартует крон и производить рассылку из этой таблице по m уведомлений за раз.
Но лучшим решение будет таким: при создании топика не производить отправку уведомлений, а писать их в отдельную таблицу. Каждые n минут стартует крон и производить рассылку из этой таблице по m уведомлений за раз.
Комментарии (9)
RSS свернуть / развернуть