![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 3 Dołączył: 8.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
Mam taki problem - stworzyłem grę internetową, w której odbywają się mecze - każdy jest generowany na podstwie umiejętności zawodników + element losowy. Mecz ma być generowany na bieżąco, ponieważ użytkownicy mają mieć możliwość ingerencji w mecz (zmiany itp.). Narazie rozwiązałem to tak, że co 1 minutę poprzez cron odpalam skrypt który ciągle oblicza kolejne akcje (przytrzymuję go na loopie przez sleep na 60 sekund). Nie da rady odpalić go tak po prostu na loopie sleep() bez końca, bo jest w końcu jakiś limit wykonywania się skryptu.
Do czego zmierzam - czuję że ten mój sposób nie jest za wydajny, wydaje mi się że coś nawet serwer przez to przymula. Ma ktoś jakiś pomysł w jaki inny sprytny sposób można ten problem rozwiązać? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Po co odpalasz skrypt co minutę robiąc w nim pętlę, która wstrzymuje swoje działanie na minutę? Gdzie tu logika? Ja robię tak:
- odpalam skrypt CRONem co 5 minut, - ustawiam czas maksymalnego wykonania skryptu na 4:45 (15 sekund "oddechu" dla serwera) - po tym czasie skrypt kończy działanie, - tworzę nieskończoną pętlę*, w której za każdym razem jest ustawiony sleep (np. 5 sekund). * która i tak zakończy się gdy minie maksymalny czas wykonania skryptu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 22:22 |