![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 6.07.2015 Ostrzeżenie: (10%) ![]() ![]() |
Witam,
Mam stronę na której jest stan surowców aktualizowany co sekundę, problem jest taki, że od strony clienta wysyłane są requesty, cron aktualizuje przez plik php wszystkim stan surowców i wysyła stan na stronę. Rozwiązanie to jest strasznie beznadziejne, ponieważ obciąża strasznie bazę, bo jeśli będę miał 2 tys rekordów do aktualizacji to co? Gra np. plemiona aktualizuje surowce (drewno rośnie 10 na sekundę), co sekundę na stronie jak i w bazie i daja radę, ale pewnie maja na to jakiś sposób. Piszę ten temat, aby mi ktoś doradził jak zrobić taki stan surowców na stronie odswieżany co sekundę ale aby nie obciążało aż tak bazy. Pozdrawiam. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Po stronie serwera robisz dla każdego usera oddzielnie przy przechodzeniu pomiędzy stronami, i jako dodatek po stronie przeglądarki inkrementujesz licznik. Ot cała filozofia.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 6.07.2015 Ostrzeżenie: (10%) ![]() ![]() |
Okej, a żałóżmy, że zakładki strony ładuję przez jquery bez odświeżania strony, po stronie clienta mam licznik. Ktoś coś chce wybudować, wysyła się request do serwera a tu surowcy nie ma bo nie było przeładowania i nie zaktualizował się stan. W takim przypadku aktualizować przy załadowaniu zakładki przez js? czy jest na to jakaś lepsza metoda?
Chcę to zrobić jak najbardziej optymalnie. Ten post edytował MeGusta 6.05.2017, 09:27:47 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Przy wykonaniu requesta robisz najpierw rekalkulację surowców a potem dopiero sprawdzasz warunki i ew. rozpoczynasz budowę. Jak po przeliczeniu surowców nie ma wystarczającej ilości to zwracasz error, jak jest to success i tyle.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 6.07.2015 Ostrzeżenie: (10%) ![]() ![]() |
Rozumiem, tylko kurcze, mam na przykład 24 surowce na godzinę, a request zostanie wysłany przykładowo dwa razy w ciągu 10 minut, skad mam widzieć ile mam surowców przyznać?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
masz dane jaką masz produkcję per godzina. Przy surowcu masz datę ostatniej aktualizacji. Obliczasz różnicę czasową i przyznajesz ilość surowców + aktualizacja czasu.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 14:09 |