![]() |
![]() |
![]()
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. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 07:47 |