Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [cron/PHP] Cron i limit czasu wykonywania skryptu PHP
Forum PHP.pl > Forum > Przedszkole
Koniczynka
Witajcie,

Jeszcze nigdy nie używałem Crona i jedynie znam go tylko z "opowiadań" (forumowych i innych). Wiem, że inicjuje on wykonywanie skryptów i w związku z tym kilka kwestii jest dla mnie niejasnych. Biorąc pod uwagę fakt, że serwery limitują czas wykonania skryptu (a nie mam możliwości zmiany php.ini), obawiam się o niepowodzenie wykonania cronowego zadania. Chodzi o update większej ilości elementów z bazy danych.

Kod wyobrażam sobie tak:
1) pobieram wszystkie rekordy, które są starsze niż 5 dni i wymagają update'u, zapisuję je do pliku (całość wykonuje skrypt1.php)
2) sprawdzam czy rzeczywiście są rekordy do aktualizacji (dalej skrypt1.php)
3) jeżeli są, po 15 sekundach przechodzę headerem do skrypt2.php i tam updatuję 5 rekordów (skrypt2.php)
4) wracam do skrypt1.php i sprawdzam plik czy coś dalej wymaga update'u (skrypt1.php), jeżeli tak po 15 sek przechodzę do skrypt2 i updatuję kolejne pliki
5) 3 i 4 powtarzam do momentu, w którym są rekordy do updateu. Jeżeli nie ma, proces się kończy i wysyła plik z zaktualizowanymi rekordami.

Teraz moje wątpliwości. Czy takie rozwiązanie może zostac zaprogramowane z użyciem Crona? Wiem, że skrypt1.php z 1 punktu zostanie uruchomiony, ale czy update nowych rekordów (w wypadku 200 rekordow byłoby to 40-krotne przejście ze skrypt2.php na skrypt1.php) też się powiedzie? Czy nie jest tak, że w tej sytuacji Cron uruchamia tylko ten plik skrypt1.php i na tym kończy swoje działanie?
Przełożyłem to sobie na to jakby użytkownik to uruchamiał i wtedy skrypt mógłby się wykonać tylko przy włączonej stronie z plikiem skrypt1.php i skrypt2.php. Czy Cron zachowa się podobnie?
Maxik
Cron wykonuje polecenia shella, aby wykonać skrypt trzeba wywołać tekstową przegladarkę lynx. Jako polecenie wpisz "lynx -dump http://adres.domena/skrypt1.php" (bez ""), jeśli skrypt wykonuje się wywoływany normalnie to tak samo wykona się przez crona.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.