Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dlugi czas wykonywania skryptu + przekierowanie
andycole
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
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.
Go to the top of the page
+Quote Post

Posty w temacie
- andycole   dlugi czas wykonywania skryptu + przekierowanie   5.12.2009, 15:57:22
- - darko   Pokaż kod, zgaduję, że robisz przekierowanie do te...   5.12.2009, 16:02:25
- - andycole   Skrypt jest przydlugawy, ale jest jak mowisz, do t...   5.12.2009, 16:04:23
- - darko   set_time_limit ($nowy_czas_w_sekundach) lub i...   5.12.2009, 16:10:23
- - andycole   wczesniej mialem set_time_limit(600); ale nie dzia...   18.12.2009, 00:22:12
- - thek   Ja robię to w sposób "oflagowany". Wybie...   18.12.2009, 09:48:28
- - Pilsener   A po co jakiś header, sleep itp. Nie prościej użyć...   18.12.2009, 10:24:27
- - andycole   Dzieki za konkretne odpowiedzi. Co do flag, zamia...   18.12.2009, 11:40:24
- - Pilsener   Wszystko zależy od tego, czy Twój hosting daje Ci ...   18.12.2009, 12:20:25
- - andycole   Mam VPS'a,   18.12.2009, 12:27:00
- - thek   Pilsener... Pogadaj sobie o Cronie w sytuacji gdy ...   18.12.2009, 13:15:07
- - Pilsener   Ale przecież sam napisałeś Cytatmasz limit skryptu...   19.12.2009, 00:25:41
- - andycole   Dajcie juz spokoj thek, powiedz mi lepiej jak prz...   19.12.2009, 02:33:56
- - darko   Zawsze możesz zrobić jeszcze tak: 1. sprawdzić ile...   19.12.2009, 03:05:41
|- - andycole   Cytat(darko @ 19.12.2009, 03:05:41 ) ...   19.12.2009, 10:46:29
- - Thorang Hoog   Cytat(andycole @ 19.12.2009, 10:46:29...   20.12.2009, 15:11:49
|- - andycole   Cytat(Thorang Hoog @ 20.12.2009, 15:11...   20.12.2009, 15:36:51
|- - jajcarzd1   Cytat(Thorang Hoog @ 20.12.2009, 16:11...   22.12.2009, 11:59:41
- - kacka   Pamiętaj tylko że mailing takiej ilości wiadomości...   20.12.2009, 15:21:49
- - Thorang Hoog   Cytat(andycole @ 20.12.2009, 15:36:51...   20.12.2009, 21:15:14
- - za017   Przeglądarki blokują powtarzające się polecenia pr...   21.12.2009, 08:01:07
- - andycole   za017, "pomógł". Twój pomysł i skrypt po...   22.12.2009, 21:02:24
- - za017   Dzięki za plusik. To duża satysfakcja, że coś zrob...   23.12.2009, 08:41:16


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: 12.10.2025 - 21:44