Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
ALEXU90
0 / 0 / 0
Регистрация: 06.12.2017
Сообщений: 9
1

Рассылка большого количества писем и ограничения хостера

06.04.2018, 07:55. Просмотров 187. Ответов 3
Метки нет (Все метки)

Всем привет.

Ребят, возникла такая проблема.
Когда писем рассылалось относительно не много, то все было нормально, сейчас количество писем вырасло до ~50к.
Хостер тал слать нотисы предупрежедения, да и сервер начал тормозить, так как большое количество писем стоит в очереди. Приходится чистить или ждать пока все уйдет...

Встала задача делать отправку частями - это не сложно. Просто по крону дергать по определенному количеству писем из БД и менять потом у них статус, в следующий промежуток времени так же дергать и менять статус....
Но, тут все дело в том, что рассылку нужно сделать максимум за 1,5-2 суток, чтобы человек мог до определенной даты получить письмо, но и втоже время не сильно рано, чтобы не забыл потом.

А как сделать по секундам? Например, каждые 2-5 секунд слать по письму?
Кроме sleep, к сожалению, в голову ничего не пришло.
Я не настолько хорошо знаю как это будет работать со стороны сервере. Не будет ли это вешать сервер, если вдруг какой-то затык будет с чем-то и эти слипы станут в очереди какой-нибудь. Или тупо незавершиться одна задача каким-то образом и в очередь встанет другая...

Что можно придумать?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2018, 07:55
Ответы с готовыми решениями:

Отправка большого количества писем через SMTP
Здравствуйте. Есть такая задачка предположим у меня база майлов юзеров которые...

Рассылка писем клиентам
Имею базу клиентов около 200000. Появилась необходимость оповестить их о новых...

Рассылка писем по расписанию
Здравствуйте! Имеются шаблоны писем которые должны отправляться допустим каждую...

Рассылка писем средствами mail()
Привет, народ. Вопрос данный в первую очередь адресуется тем, кто имел опыт...

Избавиться от большого количества обработчиков
Господа, есть такая проблема... Имеется главный index.php файл, он же...

3
ytf
Нарушитель
233 / 254 / 184
Регистрация: 15.08.2017
Сообщений: 1,483
07.04.2018, 13:13 2
Цитата Сообщение от ALEXU90 Посмотреть сообщение
Кроме sleep, к сожалению, в голову ничего не пришло.
мне тоже
0
Jodah
Эксперт PHP
2848 / 2479 / 1057
Регистрация: 01.08.2012
Сообщений: 8,771
07.04.2018, 13:53 3
Если письма не именные, можно отправить письмо сразу нескольким адресатам, добавляя их в скрытую копию.

Если именные - можно сделать аналогично, выбирая юзеров с одинаковыми именами (если в БД есть отдельное поле с именем).
0
ALEXU90
0 / 0 / 0
Регистрация: 06.12.2017
Сообщений: 9
07.04.2018, 16:05  [ТС] 4
Именные письма.

Пока нашел решение типа (может кому пригодится)
Код
set_time_limit(60);
$start = time();

for ($i = 0; $i < 59; ++$i)
{
	echo date("H:i:s").'<br>';
	time_sleep_until($start + $i + 5);
}
И еще
Код
$duration = 60;
$sleep = 5;

for ($i = 0; $i < floor($duration / $sleep); ++$i)
{
	$start = microtime(true);

	echo date("H:i:s").'<br>';

	time_sleep_until($start + $sleep);
}
В целом вроде норм. Не знаю, надо проверять как будет работать. Крон будет проходить каждую минуту.
Другого варианта не вижу пока.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2018, 16:05

Парсинг большого количества страниц
Есть такой вопрос..возможно ли парсить одновременно около 1000 страниц?

Редактирование большого количества таблиц
Здравствуйте. Стоит такая задача: нужно где-то держать данные таблицы, и при...

Хранение большого количества файлов и быстрый доступ к ним
мне надо хранить загружаемые файлы чтобы доступ к любому файлу был очень...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru