Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Mechanizm rozsyłania powiadomień
daimon
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 8.05.2005

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Było tyle razy... poczytaj o cron'ie.
Go to the top of the page
+Quote Post
daimon
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 8.05.2005

Ostrzeżenie: (0%)
-----


Cytat(fifi209 @ 28.03.2009, 21:34:38 ) *
Było tyle razy... poczytaj o cron'ie.


nie chodzi o to, jak to wysłać co jakiś czas, bo crona znam, używam, itp. Chodzi o to, czy podany przeze mnie mechanizm jest optymalnym rozwiązaniem tego problemu:)



--
Pzdr,
d.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 17:09