![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 14.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam skrypt do wysylki mailingu. Baza maili moich uzytkownikow liczy ponad 22 tysiace, wiec radze sobie tak: set_time_limit(300); pobierz 80 maili sposrod tych do ktorych jeszcze nie wyslano jezeli sa maile to w petli wyslij i zapisz, ze wyslano sleep(3); header(odswiezenie strony) jezeli nie ma juz maili header(strona glowna wysylki mailingu) I problem tkwi w tym, ze zawsze po ok 3 minutach (+/- 200 sekund) wywala mi w przegladarce: Kod Nieprawidłowe przekierowanie Firefox wykrył, że serwer przekierowuje żądanie tego zasobu w sposób uniemożliwiający jego ukończenie. Czy po przekierowaniu header czas wykonania skryptu nie liczony jest na nowo? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Ale przecież sam napisałeś
Cytat masz limit skryptu 30 sekund , więc jak odpalisz skrypt "raz a dobrze"? Przecież z pierwszego postu jasno wynika, że kolega stosuje ten sam mechanizm, lecz w inny sposób: porcjuje i odświeża bawiąc się w sleep i header, czym się to różni od użycia do tego celu crona? A jak połączenie z przeglądarką zostanie zawieszone czy zresetowane albo któryś etap wysyłki nie powiedzie się? Jak ponownie wywołasz skrypt? A jak jakiś błąd wyskoczy? Chyba, że czegoś nie rozumiem tutaj? Mówisz, że wyślę nie za dużo tych maili a czy ja muszę się ograniczać do uruchomienia tylko jednego skryptu? Mogę ich przecież odpalić równolegle nawet 100, wszystko zależy od moich potrzeb i możliwości serwera.Co do pozostałych uwag to na to jest także lekarstwo, bo wysyłkę łatwo zaprojektować tak, że maile będą wysyłane aż do skutku lub komunikatu błędu, nie widzę także przeszkód by zmodyfikować plik crontaba po zakończeniu wysyłki tak, aby już nie uruchamiał się co 5 minut. Samo 5 minut także jest przykładowe i zależy od naszych potrzeb/możliwości, dzielimy pracę na etapy by ją usprawnić a nie utrudnić. Za bardzo zbaczamy w stronę możliwości/konfiguracji serwera i szczegółów algorytmu, to, w jaki sposób skrypt realizuję samo wysyłanie ma tutaj imo znaczenie drugorzędne. Chodzi o sam fakt uruchomienia wysyłki w tle a tutaj moim zdaniem cron jest lepszym rozwiązaniem niż bawienie się w sleep + header - to rozwiązanie zastępcze i prowizoryczne, nie wyobrażam sobie za bardzo praktycznego podpięcia w PA tego i uruchomienia sprzężenia zwrotnego, jednak nie chcę brnąć dalej w dyskusję na temat wad/zalet takiej protezy, kiedyś eksperymentowałem ze sleep a nawet autorefreshem w JS, jednak gdy zacząłem korzystać z crona nie wyobrażam sobie inaczej i tak mi zawsze radzili bardziej doświadczeni koledzy. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 21:44 |