Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Automatyczne odświeżanie bardzo długo wykonującego się skryptu
Mody23
post
Post #1





Grupa: Zarejestrowani
Postów: 276
Pomógł: 0
Dołączył: 30.06.2010

Ostrzeżenie: (10%)
X----


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?
Go to the top of the page
+Quote Post
IceManSpy
post
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?


--------------------
Go to the top of the page
+Quote Post
Mody23
post
Post #3





Grupa: Zarejestrowani
Postów: 276
Pomógł: 0
Dołączył: 30.06.2010

Ostrzeżenie: (10%)
X----


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?
Go to the top of the page
+Quote Post
Pyton_000
post
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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 02:59