![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 28.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Otóż w swoim obecnym projekcie za pomocą set_time_limit ustawiłem maksymalny czas wykonania skryptu na minute, w skrypcie wykorzystuje tez jednorazowo curl'a. Niestety to co zauważyłem to budzi moje pewne obawy: otóż skrypt wykonuje się na zasadzie 60 sekund + czas wykonania curl'a i temu chciałbym zapobiec, ostatecznie czas wykonania curl'a bardzo się rożni z każdym wywołaniem skryptu dlatego ustawiłem
to jednak nie rozwiązuje problemu... Czy da się to jakoś rozwiazać bez grzebania w ustawieniach z poziomu ini_set()? ---- Edit: dodam że bez curl'a czas działania skryptu jest normalny, więc stąd moje podejrzenie Ten post edytował axxxon 22.04.2011, 12:49:54 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 30 Dołączył: 9.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Może to Ci pomoże:
http://stackoverflow.com/questions/1418583...out-not-working |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 28.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
właśnie nie bardzo rozwiążę... nawet po ustawieniu time-outu w milisekundach jak podałeś i tak czas wykonania skryptu jest większy niż moje ustawione 60 sekund...
czy curl może wstrzymywać jakoś skrypt? tzn. powoduje zatrzymanie działalności skryptu dopóki curl nie zostanie zatrzymany lub uruchamia się nowy watek dla curl'a z wstrzymaniem obecnego odpowiedzialnego za skrypt i stad pochodzi ta różnica? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 30 Dołączył: 9.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cytat właśnie nie bardzo rozwiążę... nawet po ustawieniu time-outu w milisekundach jak podałeś i tak czas wykonania skryptu jest większy niż moje ustawione 60 sekund... Chodziło mi raczej o dodanie CURLOPT_CONNECTTIMEOUT i sprawdzenie czy to pomoże. Cytat czy curl może wstrzymywać jakoś skrypt? Nie wydaje mnie się, ale może nie mam dostatecznej wiedzy. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Czas zależy od systemu operacyjnego. Niektóre do czasu działania skryptu liczą jedynie okres w którym skrypt faktycznie działa, czyli czas choćby sleepa bądź innych działań, gdy skrypt "wisi i czeka" nie jest liczony do sumarycznego. Inne zaś licza go od momentu jego ruszenia. To sprawia, że w przypadku skryptów, gdzie operacje potrafią na jakiś czas skrypt do stanu idle sprowadzić i oczekiwania na dane choćby, mogą mieć inny moment przerwania, który wykroczy poza rzekomy limit, choć tak naprawdę przerwą dokladnie w nim, tyle że będzie to dla usera nielogiczne.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
We wszystkich konfiguracjach z którymi się spotykałem, czas wykonywania skryptu ograniczony przy pomocy ustawień PHP to limit czasu procesora.
W praktyce odnacza to, że okres czasu w którym działał sleep() lub gdy skrypt czeka na zwócenie danych przez fread() (np. w przypadku zastosowania blokady zasobu), to czas NIE doliczany do czasu wykonywania skryptu. Niestety coraz więcej hostingów ma w zwyczaju ograniczać to innymi sposobami, np na poziomie serwera www czy jeszcze inaczej, rezultatem jest zegarowe ograniczenie czasu wykonywnia skryptu. Po jego przekroczeniu następuje error-500. Próby sprawdzenia czasu wykonywnia skryptu z wewnątrz tego skryptu zdają się nie działać w wielu konfigruracjach. Znaczniki czasu zwracane przez cyklicznie wywoływane microtime() czy time() są dalekie od dokładności.. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 28.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Więc tu moje pytanie się nasuwa, czy curl lub zapytanie mysql, może przeciągnąć ten czas znacząco?
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Odpowiedź jest ukryta w tym co napisaliśmy - wszystko zależy od hostingu. cURL sam w sobie potrafi mocno czas zużyć, ale tylko tam, gdzie brane jest pod uwagę faktyczny czas działania skryptu, tam może dojść do przedłużenia. Sprawią to mało responsywne strony pobierane cURLem. Wtedy jak najbardziej może dojść do przedłużenia znacząco tego czasu.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 10:40 |