![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 24.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Obczytałem forum, googla i większość kursów, ale nigdzie nie znalazłem odpowiedzi wprost na jedno ważne dla mnie pytanie: czy stosowanie funkcji sleep() pozwala na ograniczenie obciążenia serwera? albo inaczej: czy kiedy parser natrafi w kodzie skryptu na funkcję sleep() to obciążenie serwera jest w czasie sleepu mniejsze? Pytam bo admin mojego serwera jest starą marudą i jak uruchomię skrypt, ktory wlaśnie pisze, to zaraz będzie płakał. Prawdopodobnie najlepszym sposobem byłoby uruchamianie skryptu w przeglądarce i używanie refresh w meta tagach, ale to odpada - muszę wykorzystać crona. Może wyjaśnię jeszcze, że mój skrytp wykonuje zapytania i operacje na bazie danych, a poza tym przenosi dane via xml-rpc na inny serwer. Z góry dziękuję za odpowiedź (w zasadzie wystarczy mi odpowiedź tak lub nie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Nie wiem na pewno, ale chyba nie. Ta funkcja opóźnia jedynie wykonanie skryptu. Wydaje mi się, że interpreter odnajdując wywołanie tej funkcji po prostu odczekuje sobie ileś tam sekund i dopiero zaczyna działać. Nie wiem, czy na pewno, ale tak wynika z manuala :/
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Mi jakoś ta funkcja nie działała. (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Może w php5 działą? Nie wiem nie używam jej, ale w php4 nie działała (mi) Moim zdaniem poprostu zatrzymuje parser na ilesc sec i po iles secundach leci dalej.
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Jest raczej tylko w php5 (ale dawno nie widziałem changeloga do php4)
|
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
niepotrzebny changelog, wystarczy manual:
http://pl.php.net/manual/pl/function.sleep.php i juz widac ze juz w php3 byla (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ps: i dziala |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
O.o
Pół życia z błędną wizją sleep() aaaa!!! No ale teraz sobie chociaż poczytam tamtejsze posty. qtchb na php.net sa ciekwe idee uzycia funkcji sleep. Dzieki nospor (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 21 Dołączył: 28.06.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
pozwole sobie rozkopać temat bo po co pisać nowy;)
pytanie mam jedno... czy gdy parser "spi"(używam fukcji sleep) to czas wykonywania skryptu też się zatrzymuje czy nie? chodzi mi o to by nie przerwało skryptu z powodu limitu czasu... np. skrypt wykonuje się 0.5 sec, w środku skryptu dam sleep(5) (lub usleep(5000000) ) to czas wkonywania będzie 5.5 czy 0.5? jeśli miał bym max_execution_time = np. 3 to czy mi przerwie czy podczas "snu" czas wykonywania też się zatrzymie?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 296 Pomógł: 32 Dołączył: 3.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Wykonywanie skryptu powinno zostać przerwane ponieważ funkcja sleep działa tak jakbyś utworzył własną funkcję, która będzie liczyła bardzo dziwne rzeczy, a jej wykonanie będzie trwało X sekund... po czym przejdzie do następnych instrukcji...
Funkcja jest opisana jako opóźnienie wykonania, ale nie ma tam mowy o wstrzymaniu maksymalnego czasu wykonywania... wiec powinieneś otrzymać wynik wykonywania równy 5.5 sek przy tych danych, które podałeś. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 21 Dołączył: 28.06.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
no tak ale patrząc z innej strony jest to nie logiczne bo max_execution_time jest po to by server nie był obciążony przez jeden skrypt za długo a gdy parser "spi" to nie ma obciążenia;)... hmmm sprawdzę to:)
daje Kod próba jeden
2 = max_execution_time - sprawdzamy czy nie ma zablokowanych set_time_limit itd. próba dwa Ten post edytował dadexix 6.04.2008, 08:51:00 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 16:08 |