![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 0 Dołączył: 30.06.2010 Ostrzeżenie: (10%) ![]() ![]() |
Witam!
Posiadam skrypt, którego wykonanie trwa bardzo długo. Zabawa z set_time_limit() też nie pomaga. Oczywiście przy użyciu tego atrybutu skrypt potrafi pracować o wiele dłużej niż bez tego, ale i tak jest to za mało, aby skrypt podołał do końca, dlatego zastanawiam się czy da się jakoś zrobić odświeżanie, powiedzmy co 20 sekund, a po odświeżeniu skrypt zaczynałby pracę od momentu, w którym skończył przed odświeżeniem? Wiem, że można kombinować z przekierowaniami, np.: Kod test.php?zacznij_id=545 w gecie można wrzucić miejsce, w którym zatrzymał się skrypt i viola, aczkolwiek nie do końca mi to rozwiązanie odpowiada. Da się bezpośrednio takie odświeżenie wrzucić w skrypt i zacząć pracę od momentu, w którym skrypt zakończył działanie? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nie ma możliwości takiej możliwości.
Co ten skrypt robi, że to aż tyle czasu mu zajmuje? Może podzielić go na mniejsze sekcje? Albo w ogóel użyć innego jązyka? -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 0 Dołączył: 30.06.2010 Ostrzeżenie: (10%) ![]() ![]() |
To taki jakby spider latający po stronie i analizujący jej zawartość.
A czy jeśli wrzucę ten plik do crona (potrzebuję odpalić go raz na dobę) to cron sobie da rade czy też się zawiesi i dostanie błąd o przekroczonym limicie czasu? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ogólnie php w wersji CLI czyli z konsoli nie ma limitu czasu wykonania domyślnie.
Aczkolwiek jeżeli to nie jest VPS lub Dedyk to na 90% takie ograniczenie jest ustalone. Co do odświeżania to możesz bieżący progres zapisywać np. w pliku i przy odświeżeniu sprawdzić czy plik istnieje i odczytać początek od którego ma zacząć. Po skończeniu plik usuwasz i tyle. Dodatkowo w skrypcie dzięki temu możesz ustalić limit np. 500 operacji i koniec. Tak odpalany skrypt aż będzie brak wyników. Wtedy tylko do Crona powiedzmy co 10 min. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 02:59 |