Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Gra internetowa via www, real time, Jak zmusić serwer do ciągłego odpalenia jednego skryptu?
Apocalyptiq
post
Post #1





Grupa: Zarejestrowani
Postów: 230
Pomógł: 3
Dołączył: 8.01.2008

Ostrzeżenie: (10%)
X----


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ć?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
phpion
post
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.
Go to the top of the page
+Quote Post

Posty w temacie


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: 26.09.2025 - 22:22