Witam,
jest sobie strona z ogłoszeniami, które podzielone są na kategorie. Zalogowany użytkownik może zasubskrybować sobie dostawanie na maila listy ( maksymalnie ) 10 najnowszych ogłoszeń z każdej zasubskrybowanej kategorii. Po kliknięciu ( na stronie ) "subskrybuj" do tabeli zapisywany jest nowy rekord w postaci id_usera, id_kategorii, id_ostatniego_postu_w_kategorii.
Skrypt rozsyłający ma być odpalany co 10 - 15 minut, zebrać nowe ogłoszenia ze wszystkich zasubskrybowanych kategorii i rozesłać. Założenia są takie, że user w jednym mailu musi dostać zebrane nowe ogłoszenia ze wszystkich subskrybowanych kategorii i nie może dostać więcej niż jednego maila na 24h.
Mój pomysł był taki, żeby dodać do tabeli użytkowników dodatkowe pole, w którym będę trzymał datę ostatnio wysłanego maila. Odpalony skrypt pobierze mi np. 100 userów, u których data ostatnio wysłanego maila jest mniejsza niż 24h, w pętli sprawdzi, czy mają jakieś subskrypcje - jeśli tak i będą nowe ogłoszenia, to poskłada maila i wyśle, a następnie zaktualizuje datę ostatnio wysłanego maila. Po 10 - 15 minutach pobrana zostanie następna lista 100 userów, itd.
Czy to optymalne rozwiązanie ( co przy 1 mln użytkowników? ), czy powinienem podejść do tego jakoś inaczej?
--
Pzdr,
d.