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