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? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%)
|
Eeeee
EDIT: @Quantum: Rzeczywiście, kłania mi się czytanie ze zrozumieniem. Teraz dopiero to zobaczyłem :/ Ten post edytował everth 28.07.2010, 20:39:53 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%)
|
Np zrobić tabelę harmonogramu, potem cronem pobierać akcje, których czas wykonania właśnie nastał.
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%)
|
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 0 Dołączył: 12.12.2006 Skąd: Pszów Ostrzeżenie: (0%)
|
a czy dobrym rozwiązaniem była by tabela z akcjami odroczonymi w czasie i skrypty crona który odpalał by co 1 sec spryt php który zajmowałby się tymi akcjami?
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 34 Dołączył: 7.12.2008 Skąd: Poznań Ostrzeżenie: (0%)
|
Cron'a nie odpalisz czesciej niz co minute
|
|
|
|
Post
#7
|
|
|
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) |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 0 Dołączył: 12.12.2006 Skąd: Pszów Ostrzeżenie: (0%)
|
czyli tabela z eventami,
jak js doliczy do 0 to poprzez ajaxa wywołanie skryptu jak będzie zamknięte okno przeglądarki to przy refreshu W sumie proste i skuteczne (IMG:style_emoticons/default/biggrin.gif) Dziękuje |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 22:14 |