Как лучше сделать рассылку ?

pilot911

Новичок
Как лучше сделать рассылку ?

Есть несколько категорий новостей, по которым каждые 8 часов делается рассылка.

Как лучше контролировать, что пользователю отправлена новость - на уровне каждого пользователя или на уровне каждой категории.

То есть, например, сделали рассылку по какой-то категории - ставим у нее в поле текущее время, по которому потом определяем новые новости.

Или все-таки лучше делать метку времени для каждого пользователя из рассылки ?
 

Alexandre

PHPПенсионер
по которым каждые 8 часов делается рассылка.
а почему так часто?
я делаю раз в 24 часа и не парюсь

ближе к теме:
я бы сделал таблицу (но не факт что так лучше или оптимальнее)
user_ newssend:
user_id
news_id
send_time
 

findnext

Новичок
pilot911
ну а если логически подумать, вдруг случится так, что рассылка остановиться где нибудь в середине выполнения скрипта, например сервак упадёт случайно и тебе нужно будет продолжить рассылку? Не пошлёшь же ты рассылку тем же пользователям по второму разу.

-~{}~ 23.04.09 19:14:

я бы сделал таблицу
user_send:
user_id
news_id
send_time
согласен полностью
 

Alexandre

PHPПенсионер
ну а если логически подумать, вдруг случится так, что рассылка остановиться где нибудь в середине выполнения скрипта, например сервак упадёт случайно и тебе нужно будет продолжить рассылку?
а для этого надо писать отправленные письма в лог,
который потом загрузить по окончании работы скрипта в БД ( или после того как он упал :( ), чтоб частыми инсертами не убить базу
хотя если пользователей 20 и новостей 5 - то можно на это и забить
 

korchasa

LIMB infected
А я бы сделал:
user_category_send:
user_id
news_category_id
send_time

Отправлял бы кусками по штук по сколько-то (сколько писем отправить второй раз не жалко?), и после каждого - update.

Второй вариант - очередь писем с готовым текстом, и ее разгребание.
 

pilot911

Новичок
спасибо, вы направили меня на верный путь с логами и апдейтом кусками по N записей, осталось выбрать из этого лучший вариант
 
Сверху