Я пытаюсь создать надежную почтовую систему, которая вызывает у меня некоторые проблемы и, как правило, не очень надежна.
В настоящее время у меня есть выделенный сервер, на котором настроена пара сценариев php для добавления почты вбыть отправленным на базу данных MySQL с помощью PEAR mail_queue и другого, чтобы отправить их с помощью PEAR и задания cron.Это все работает хорошо.
Бит, с которым я борюсь, - это заполнение базы данных без остановки сайта, с которого отправляются информационные бюллетени.
Информационный бюллетень настроен и отправлен сПанель администратора на бэкенде сайта, размещенная на общем сервере.При нажатии кнопки «Отправить новостную рассылку» она отправляет запрос cURL на выделенный сервер для заполнения БД.Однако при отправке бюллетеня с более чем 600 подписчиками весь сайт останавливается и не возвращается до тех пор, пока процесс не завершится - что он, по крайней мере, делает.
Как настроить cURL или другой запрос, который можетработать в фоновом режиме или асинхронно или что-то, что не убивает сайт?
вот какой-то код:
$hCurl = curl_init();
$curl_options = array(CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_URL => "http://DOMAIN/PATH/SCRIPT", CURLOPT_POSTFIELDS => "VARIABLE TO SEND");
curl_setopt_array($hCurl, $curl_options);
$sResp = curl_exec($hCurl);
curl_close($hCurl);
скрипт, который запускается, добавляет подписчиков в очередь mail_queue после проверки, что онидействительные электронные письма и возвращает статус и любые недействительные электронные письма.Я полагаю, что добавление 600+ электронных писем в базу данных MySQL - большая работа для этого.
Любая помощь будет принята с благодарностью.