![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 22.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
mam zdefiniowane kilka serwerów które pinguję i w pętli wywołuję wiele razy taki kod: w zmiennej $host mam adres serwera który będę pingował a w $httpReq jest to co do niego wysyłam. Pętla ma kilka tysięcy interacji i przy każdej iteracji mam zapytanie które mi zwiększa o 1 pewien rekord w bazie (to taki mój licznik pingnięć). No i bardzo często (średnio raz na 4 razy) w połowie pętli licznik zatrzymuje się i stoi w miejscu, choć w konsoli widzę że proces jest uruchomiony. Skrypt uruchamiałem albo z crona albo z konsoli bo wykonanie trwa kilka godzin więc jakbym go w przeglądarce uruchomił to raczej miałbym timeouta (IMG:style_emoticons/default/smile.gif) . Najgorsze jest to że w funkcji fsockopen mam timeout w ostatnim argumencie i nawet jak ustawię ten timeout na 1 sekundę to widzę po komunikatach że ostatni komunikat jest przed tą funkcją i w tym miejscu iteracja pętli się zawiesza. Podpowiedzcie co tu zrobić żeby zdefiniować jakiś działający timeout żeby w przypadku nie odpowiadającego serwera skrypt jechał dalej i nie zawieszał mi się tak jak teraz. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 22.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
witam, wlepiłem funkcję stream_set_timeout (nie wiem czy w dobrym miejscu) i co kawałek kodu dodałem echo 1 2 3 4 5 6 żebym wiedział w którym momencie skrypt się zatrzymał. Cały ten kod który poniżej wklejam jest wywoływany w pętli wiele razy:
no i gdy skrypt się "zawiesił" zajrzałem do logów i na końcu logu było coś takiego: więc jak widać skrypt zawiesił się gdzieś pomiędzy echo 4 a echo 5, w tej pętli while... podpowiedzcie proszę - jak to poprawić? Ten post edytował marcinpl87 13.02.2010, 00:25:44 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 44 Dołączył: 17.02.2004 Skąd: Wieliczka Ostrzeżenie: (10%) ![]() ![]() |
witam, wlepiłem funkcję stream_set_timeout (nie wiem czy w dobrym miejscu) i co kawałek kodu dodałem echo 1 2 3 4 5 6 żebym wiedział w którym momencie skrypt się zatrzymał. Cały ten kod który poniżej wklejam jest wywoływany w pętli wiele razy: Najpierw wypadało trochę poczytać z podanego linka, no i warto by zerknąć w przykłady poniżej. Wiedział byś wtedy jak to stosować.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 09:50 |