Velius
7.12.2008, 14:30:25
Witam,
Robie OTS Listę
Potrzebuję skryptu, który będzie odświeżał, serwery z bazy danych co 5minut, ale bez użycia cron. Chyba, że wiecie jak uruchomić crona z poziomu samego php. Ja tego nie wiem, ale wiem, że na Drupalu, Joomli jest coś takiego w php, jak to zrobić?
Chciałbym zrobić coś na podobę ots-list.org
Narazie przy odwiedzinach wyciągam jeden serwer z bazy i go sprawdzam, ale to jest beznadziejne ponieważ moja strona jest narazie mało popularna i serwery mają duże opóźnienie.
Czy jest w ogóle jakaś możliwość, aby za bardzo nie obciążać strony i sprawdzić 400 serwerów w prawie że jednej chwili? Proszę o odpowiedź, jak pracuje skrypt na ots-list.org? Na czym to polega?
Gdybyście mogli to prosiłbym także o przykład takiego skryptu, który odświeża coś co jakiś czas.
Mógłbyś stworzyć skrypt, który jest ciągle uruchomiony i co 5 minut sprawdzałby cokolwiek, np.
while()
{
/*cokolwiek*/
}
IMHO jest to strasznie toporne. Na Twoim miejscu znalazłbym serwer, gdzie jest CRON (prawie wszędzie?) ...
PanGuzol
7.12.2008, 16:31:49
Cytat(c3zi @ 7.12.2008, 16:25:50 )

Mógłbyś stworzyć skrypt, który jest ciągle uruchomiony i co 5 minut sprawdzałby cokolwiek, np.
W php.ini jest opcja konfiguracyjna ograniczajaca maksymalny czas wykonywania skryptu
http://pl2.php.net/manual/pl/info.configur...-execution-time
webdice
7.12.2008, 16:44:54
Cytat(PanGuzol @ 7.12.2008, 16:31:49 )

W php.ini jest opcja konfiguracyjna ograniczajaca maksymalny czas wykonywania skryptu
http://pl2.php.net/manual/pl/info.configur...-execution-timeA w manualu jest jest funkcja
set_time_limit" title="Zobacz w manualu PHP" target="_manual która pozwala ten czas zmienić. Oczywiście wszędzie nie zadziała. Wracając do tematu osobiście skorzystałbym z setinterval oraz AJAX.
Velius
7.12.2008, 18:19:14
Nie ma darmowych serwerów z dostępem do CRON
Gdybym stworzył skrypt, który uruchamia się co 5minut i przu otwarciu byle której strony się aktywuje, to co 5minut jakiemuś użytkownikowi strona otwierała by się około 2minut
Czy było by to etyczne? Tak obciążać użytkownika?

Nie ma rozwiązań, które mniej obciążają serwer?
Pilsener
8.12.2008, 08:13:16
W PHP nie ma, skorzystaj z dobrodziejstw AJAX.
webdice
8.12.2008, 09:13:20
Na serwerze zapisujesz datę ostatniej aktualizacji. Gość wchodzi na Twoja stronę i pobierasz AJAX'em zapisaną datę. Następnie
setInterval oraz
clearInterval.
EDIT: ~erix jeszcze przed kawą

. Poprawione.
*interval.
Cytat
Nie ma darmowych serwerów z dostępem do CRON
Zawsze można zostawić u kogoś przeglądarkę, kto ma kompa często online albo coś w stylu webcron. ;]