Очень уместно вывести это из потоков вашего веб-сервера во что-то, что работает автономно. Обычно для таких вещей у меня есть таблицы в БД, куда записывается соответствующая информация с веб-сайта, поэтому, когда я буду готов к электронной почте, что-то на бэкэнде может собрать электронные письма и отправить их. Если вы отправляете 100 000 электронных писем, вам нужно что-то многопоточное.
В этом случае было бы неплохо использовать один из множества готовых инструментов для этого, а не изобретать велосипед. Здесь мы используем старую версию Campaign Enterprise, и я могу выдавать запросы, которые я могу использовать для извлечения данных из моей веб-базы данных напрямую через ODBC. Это может или не может работать хорошо для вас, учитывая, что вы находитесь в облаке.
Редактировать: Вы также можете написать PHP-скрипт для этого и вызвать PHP из оболочки. Возможно, вы можете обойти ограничение тайм-аута таким образом? (Это предполагает, что вы имеете в виду некоторый тайм-аут на уровне обслуживания. Если вы говорите о обычном тайм-ауте PHP, это можно обойти с помощью set_time_limit()
.)