Как реализовать периодический дайджест сообщений? - PullRequest
3 голосов
/ 02 марта 2010

Моя система отправляет сообщения пользователям (электронная почта, смс и т. Д.). В настоящее время он отправляет его для каждого события (самое большее один раз в день), но я хотел бы добавить к нему дайджест, в котором пользователь может выбрать еженедельный или ежемесячный дайджест своих сообщений. Я смотрю, есть ли какие-либо существующие решения с открытым исходным кодом для этого, или существующие шаблоны для реализации чего-то вроде этого.

Моя система не сохраняет ни одно из сообщений, они отправляются по мере необходимости, а затем забываются. Так что это первое, что должно произойти. Я также хотел бы иметь возможность создать страницу сообщений на сайте, которая будет отображать историю всех сообщений.

Тогда должен быть механизм, который просматривает предпочтения пользователя в сообщениях и решает, когда отправлять сообщения и как группировать их в дайджест-форму, если это необходимо.

Любые указатели или мысли будут оценены.

Ответы [ 2 ]

2 голосов
/ 03 марта 2010

Как правило, храните сообщения в базе данных со схемой категоризации (это псевдокод):

TABLE message {
 id,
 created_timestamp,
 user_id,
 sent,
 type (sms, email, etc),
 content
}

Затем каждый день, скажем, в полночь, ВЫБИРАЙТЕ все сообщения, где отправлено = 0 и user_id =, и объедините их в одно сообщение, отправьте его с помощью метода указанного типа и отметьте все как отправленное = 1.

Вы сможете просмотреть набор исторических сообщений, просто выбрав сообщения, где отправлено = 1.

1 голос
/ 03 марта 2010

Если вы готовы потратить деньги, старый добрый Listserv v16 делает это.

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