Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jednorazowe wykonanie skryptu co jakiś czas
Forum PHP.pl > Forum > PHP
inwob
Witam!
Pracuje nad skryptem który pobiera zawartość danej strony i liczy ilość jej znaków.
Problem jest w tym że strona nie może być odświeżana częściej niż raz na 10 sekund (ta z której pobieram znaki).
Gdy na moją stronę wejdzie np, 10 użytkowników to tamta strona zostanie 10 razy odświeżona i dostanie bana.
Jak zrobić żeby strona raz co 10 sekund pobierała pewną zawartość i wyświetlała go danym użytkownikom bez ponownego wchodzenia na stronę do pobrania.
Pozdrawiam!
ulow
cron, zapisanie tresci do bazy
inwob
nie mam takich możliwości, tylko php ew. html i javascript
ulow
no to nie masz mozliwosci wykonania tego. przesiądź się na lepszy hosting winksmiley.jpg
inwob
musi być jakaś inna możliwość
pedro84
Cytat(inwob @ 23.06.2010, 22:29:14 ) *
musi być jakaś inna możliwość

Cache?
inwob
mysql wchodziłoby w grę?
Stronę odświeży kilkanaście osób w czasie 1 sekundy więc nie wiem czy wszystko zadziała.
if (warunek) {
// znajdz czy jest rekord w mysql

// jak nie ma {

// Pobierz strone
// dodaj zapytanie do mysql
// wyswietl strone
} else {
// wyświetl rekord
}


dałoby rade takie coś?
thek
Wykorzystaj system cache'ujący lub zrób sobie sam prymitywny.Jak? Choćby prosty plik, który przechowywałby adres strony, datę ostatniego sprawdzenia i ilość znaków. Dlaczego tak? Rozpatrzmy kilka przypadków:
1. Strony nie ma w naszym cache'u - pobierz stronę, policz znaki, wpisz adres, dokładny czas i liczbę znaków.
2. Strona jest w cache, ale czas jest odległy (ponad 10 sekund) - pobrać stronę, policzyć znaki, uaktualnić czas i ewentualnie liczbę znaków
3. Strona jest w cache, ale mniej niż 10 sekund - pobierz liczbę znaków tylko i nic nie rób z danymi.
Problemem z jakim się jednak spotkasz to jednoczesne odwołania do cache. Musisz zadbać o blokowanie jeśli dwie osoby w tym samym czasie chcą pobrać dane o tej samej stronie. Druga musi czekać na zakończenie się operacji liczenia pierwszej i tylko jej wynik już pobierze (oczywiście dla wariantu 1 i 2 to tylko się liczy).
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.