|
|
|
| Приветствую всех участников! С наступающим, кстати )
Интересует вопрос с почтовой рассылкой.
Например, есть 600 email адресов. Как организовать поэтапную рассылку писем. Скажем, по 25 ящиков за раз?
Не понимаю алгоритм как это можно организовать. Ясно, что емейлы в цикле нужно перебирать, но как так аккуратно тормозить скрипт и потом опять продолжать выполнять его с момента остановки?
Такое реализована в форуме vbulletin, например. | |
|
|
|
|
|
|
|
|
для: Valick
(13.12.2011 в 22:35)
| | Да, спасибо. Я знаю об этой функции, но выглядит в рассылке vbulletin не совсем так все. Скрипт завершает выполнение свое, а потом как-будто по meta-refresh периодически сам себя обновляет, высвечивая номера рассылки:
0-25
*завершилось выполнение, потом нечто вроде meta-refresh*
25-50
*завершилось выполнение, потом нечто вроде meta-refresh*
50-75
... | |
|
|
|
|
|
|
|
для: man1
(13.12.2011 в 22:42)
| | ну а в чем проблема? эмейлы в базе? ну сохраняйте метку прогресса в той же базе, каждый раз начиная не с начала списка а с этой метки
___
все вас спамеров учить надо :)) | |
|
|
|
|
|
|
|
для: Valick
(13.12.2011 в 22:47)
| | мы не спамеры))
с базой теперь понятно, я в принципе также думал реализовать) а вариант без базы -тоже самое в принципе получается ведь: пишем последний прогресс в файл, останавливаем скрипт., включаем скрипт, проверяем файл и начинаем с того места, что указано в нем.
Алгоритм верный? | |
|
|
|
|
|
|
|
для: man1
(13.12.2011 в 22:54)
| | а вариант без базы
геморно конечно, но алгоритм верный | |
|
|
|
|
|
|
|
для: man1
(13.12.2011 в 22:42)
| | можно вообще вечный цикл делать
для каждого эмэйла в базе добавть поле с тиймштампом рассылки
делаем выборку с лимитом из базы сортируя по времени рассылки естественно выбрав самые старые
отсылаем и обновляем время рассылки, таким образом отсылаем их в самый конец списка при следующей выборке
вот вам и перпетум мобиле спамера :)
___
я думаю в вбюлетне так и сделано | |
|
|
|
|
|
|
|
для: Valick
(13.12.2011 в 22:55)
| | >можно вообще вечный цикл делать
но вечный он получится только при повторной выборке, когда уже первая выборка исчерпает все емейлы - еще раз запустить и все пойдет по второму кругу.
Это имелось ввиду?
Интересный вариант.) | |
|
|
|
|
|
|
|
для: man1
(13.12.2011 в 23:28)
| | но вечный он получится только при повторной выборке, когда уже первая выборка исчерпает все емейлы - еще раз запустить и все пойдет по второму кругу.
нет, выборка будет происходить при каждом запуске скрипта, допустим 100 строк из 30000
следующий запуск, следующая выборка, следующие 100 строк...
этот вариант получается зациклен постоянно, тут как у Высоцкого
"красота, среди бегущих первых нет и отстающих"
скрипт можно вызывать когда угодно и как угодно цикл будет поддерживаться естественным течением времени, превый или второй круг будет мнимым
главное что строки будут выбираться в определенном порядке
_
представте себе обруч, где у него начало а где конец? а теперь важный вопрос... а нафиг нам нужно определять начало и конец обруча? другим он от этого не станет)) берем его и крутим!)) | |
|
|
|