Крупномасштабная платформа рассылки с использованием PHP - PullRequest
0 голосов
/ 05 ноября 2011

Какова наилучшая практика отправки электронных рассылок?

Моя компания просит меня предоставить приложение, способное отправлять сотни тысяч писем в день.

У нас есть возможность отправить эту сумму с помощью Amazon SES.

Как разработчик PHP, я создал скрипт на PHP, чтобы найти, например, 100 000 записей из базы данных и отправлять электронные письма одно за другим в соответствии с предпочтениями пользователя. Этот скрипт выполняется с использованием cron несколько раз в день.

Но этот подход терпит неудачу из-за того, что скрипт работает медленно и время ожидания браузера (даже при высоком php set_timeout). Или, другими словами, это не надежно и надежно.

Я думал о том, чтобы, возможно, использовать Java или какой-то другой "активный" язык программирования, который живет в фоновом режиме и способен справиться с этим без истечения времени ожидания и т. Д.

Кто-нибудь из вас имел эту проблему раньше? Каковы ваши предложения для этой крупномасштабной платформы рассылки?

Дополнительное примечание 1. Мы вызываем API для отправки электронной почты, отсутствия sendmail и т. Д.
Примечание 2: он должен иметь возможность вызывать API примерно 40 раз в секунду, мой сценарий вызывает только 1 в секунду
Примечание 3: База данных MySQL

Ответы [ 3 ]

2 голосов
/ 05 ноября 2011

Если вам нужно выполнять длинные задачи в PHP, я рекомендую запускать скрипт из командной строки, без веб-сервера. У вас не будет проблемы с тайм-аутом.

1 голос
/ 05 ноября 2011

WOW - Похоже на фабрику спама :) В любом случае, я бы хотел написать какой-нибудь сервис, который может раскручивать несколько потоков и обрабатывать запросы таким образом. 40 раз в секунду облаку кажется много. Удачи!

0 голосов
/ 05 ноября 2011

Лучше купить что-нибудь вроде экспресс-почты от Godaddy. Всегда есть возможность пометить как спам, если мы делаем вручную, используя php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...