Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jednorazowe wykonanie skryptu co jakiś czas
inwob
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 2.05.2010

Ostrzeżenie: (0%)
-----


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!

Ten post edytował inwob 23.06.2010, 21:18:53
Go to the top of the page
+Quote Post
ulow
post
Post #2





Grupa: Zarejestrowani
Postów: 35
Pomógł: 4
Dołączył: 18.05.2010

Ostrzeżenie: (0%)
-----


cron, zapisanie tresci do bazy
Go to the top of the page
+Quote Post
inwob
post
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 2.05.2010

Ostrzeżenie: (0%)
-----


nie mam takich możliwości, tylko php ew. html i javascript
Go to the top of the page
+Quote Post
ulow
post
Post #4





Grupa: Zarejestrowani
Postów: 35
Pomógł: 4
Dołączył: 18.05.2010

Ostrzeżenie: (0%)
-----


no to nie masz mozliwosci wykonania tego. przesiądź się na lepszy hosting (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
inwob
post
Post #5





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 2.05.2010

Ostrzeżenie: (0%)
-----


musi być jakaś inna możliwość
Go to the top of the page
+Quote Post
pedro84
post
Post #6





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

Ostrzeżenie: (0%)
-----


Cytat(inwob @ 23.06.2010, 22:29:14 ) *
musi być jakaś inna możliwość

Cache?
Go to the top of the page
+Quote Post
inwob
post
Post #7





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 2.05.2010

Ostrzeżenie: (0%)
-----


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ś?

Ten post edytował inwob 23.06.2010, 21:44:31
Go to the top of the page
+Quote Post
thek
post
Post #8





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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

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

 



RSS Aktualny czas: 3.10.2025 - 17:05