Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Uruchamianie w czasie
Avatarus
post
Post #1





Grupa: Zarejestrowani
Postów: 304
Pomógł: 0
Dołączył: 12.12.2006
Skąd: Pszów

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


Witam
Potrzebuje w skrypcie użyć funkcje która będzie odpalana w czasie.
Na zasadzie że włączamy coś i trwa to np 10 min, licznik odlicza do 00:00 i odpala się skrypt.
Z tym że ważna sprawa, te licznik ma być niezależny od użytkownika który go uruchomił.
Czyli jak taki user zamknie okno przeglądarki, to ten skrypt się wykona.

Zasada podobna jak w grach przez przeglądarkę.

Macie pomysły?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





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




Zajedziesz bazę chłopie (IMG:style_emoticons/default/smile.gif) Na temat o jakim piszesz były już tutaj tematy. To się rozwiązuje nieco inaczej. Robisz tabelę z eventami czy jak to chcesz nazwać i ustawiasz nowym akcjom znaczniki czasowe zakończenia akcji. Zwykłe timestamp. User widzi te związane z jego id. Po stronie usera JavaScript odbiera te znaczniki i tworzy z nich timer odliczający. Gdy czas dobiegnie do 0 następuje odświeżenie lub nie dzieje się nic poza napisem Wykonano/Koniec. Dopiero gdy strona zostanie odświeżona wszystko się wykona na serwerze. Dzięki temu nie katujesz bazy niepotrzebnie i nie musisz dbać o idealny harmonogram. Skrypt wykona dopiero wtedy, gdy musi. A jak są walki robione skoro userów jest dwóch? Ano skrypt wykonuje się tylko raz, gdy tylko stronę odświeży pierwszy z nich. Gdy klika drugi to raport i cała akcja już jest w bazie. Tak więc przydaje się w takich sytuacjach znacznik dodatkowy dla danego timestamp który synchronizuje info o tym, czy raport już jest, nie ma go, czy właśnie jest tworzony przez jednego z graczy.

Apropo eventów... Można w mysql 5.x korzystać z mechanizmu eventów jednorazowych zamiast CRONa, ale moim zdaniem dla tego typu zagadnienia to przerost formy nad treścią (IMG:style_emoticons/default/smile.gif)
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: 27.12.2025 - 12:03