Скрипт рассылки с пакетным методом передачи

Статус
В этой теме нельзя размещать новые ответы.

lopotorius

Создатель
Регистрация
8 Апр 2008
Сообщения
31
Реакции
2
В общем есть система SLAED CMS и там начиная с версии 3.0 рассылка работает пакетным методом(То есть письма передаются предположим по 50 штук за одну отправку и каждая отправки происходит с интервалом в 5 минут).То есть ты вечером зашел в админку запустил отправку выключил компьютер проснулся включил комп утром глянул рассылка уже отправлена всем.Пишет время рассылки ну и так далее..Я не могу разобраться в методе работы этого алгоритма..
Вот приблизительный метод работы скрипта:
1;Запускаем рассылку
2;Идет построение списка имейлов ну и прочая бурда
3;Отправляется первая очередь писем и производятся изменения данных в БД(перезапись времени например)
4;Затем идет каким то образом отсчет времени и цикл повторяется снова.
СРазу говорю никаких планировщиков типа Cron не требуется!!Как я понимаю проверка по времени прикручивается к главному файлу index.php сайта то есть когда юзер загружает сайт проходит проверка по времени и при хорошей посещаемости будет все нормально.Но вот вопрос-не будет ли причинять лишнее время загрузки страницы моральный ущерб юзеру?Вообще куча вопросов и хотелось бы послушать совета профессионалов.Как должен работать модуль рассылки?
 
Работать должен через cron :)
 
Я написал же что без Crona все работает!!!!Читайте сообщения до конца!И прочитайте вопрос снова!
 
Если работает без крона - значит идет постоянный перезапуск рассыльщика в фоне :)

Проверили-отослали-слип на 5 минут - перезапуск себя через exec :)
 
в фоне?поподробнее?Я думаю что работает так:мы запускаем рассылку проходит первый поток затем к индексу мы привязываем условие что если больше пяти минут прошло то запустим еще одну рассылку то есть при постоянном потоке пользователей рассылка будет идти но пользователю придется ждать некоторое время пока помимо страницы и рассылка проработает...Блин я уже в замешательстве не знаю что делать
 
Ну вот так, например :)
PHP:
<?php
	ini_set('max_execution_time', 0);
	
	$oMailer = new mailer();
	$oMailer->sendMessages($iLimit = 50);
	sleep(600);

	$aMatches = array();
	exec('/usr/bin/php5 -f '.$_SERVER['SCRIPT_FILENAME'].'>> /dev/null &', $aMatches);
	die();
 
спасибо более менее подтвердил мои слова:)
 
Спасибо у нас говорят кнопками - это не намек, а трезвое пожелание, ибо бу расценивать как флуд.

А во вторых.. во вторых - что мешало "свои догадки" реализовать? :D :D :D
 
за спасибо простите.А реализовать догадки-я очень не люблю накалываться что присходит у меня очень часто.Ты пишешь, пишешь скрипт и в итоге оказывается что метод ты выбрал неправильный.....И все твои труды под хвост коту
 
Мде... дожили, 7 строк кода - "пишешь пишешь... пишешь-пишешь... пишешь-пишешь..." :D
Закрыто нафиг :-]
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху