Ethel
23.07.2005, 21:25:31
Witam, potrzebuje informacji/wskazówek jak napisać skrypt który będzie mi co 10 minut powiększał w wszystkich rekordach pewne pole o 1.
Skobi
23.07.2005, 21:37:54
Za pomocą bazy MySql nie uruchomisz skryptu co jakiś odstęp czasu, ale możesz napisać skrypt w np. php ktory będzie aktualizował baze.
Poszukaj pod hasłem cron było wiele razy na tym forum.
Ethel
23.07.2005, 22:10:56
Poczytałem i doszedłem do wniosku że skrypt ten może być uruchamiany jedynie przez administratora servera. Natomiast problemem jest to iż ja administratorem nie jestem, a jedynie urzytkowinkiem. Czy jest inne rozwiązanie ?
Skobi
23.07.2005, 22:50:50
Hm, mam pomysł na jedno rozwiązanie, ale jest ono gorsze od crona. Rozwiązanie to:
Możesz taki skrypt zaimplementować u siebie na stronie i uruchamiać go jako pierwszy skrypt w aplikacji. Mógłbyś trzymać gdzies w bazie kiedy ostatni raz byl uruchamiany. Obliczyć różnicę minut od ostatniego uruchomienia i zaktualizować bazę. Oczywiście trzeba to dokładnie przemyśleć, ale myślę, że da się zrobić. Oczywiście uważam, że jest to rozwiązanie toporne, ale skoro nie ma innego wyjścia, no chyba, że takiego nie znam.
mike
23.07.2005, 22:59:45
Cytat(Skobi @ 2005-07-23 22:50:50)
Możesz taki skrypt zaimplementować u siebie na stronie i uruchamiać go jako pierwszy skrypt w aplikacji.
A jeżeli na Jego stronę nikt nie wejdzie przez godzinę (przez godzie się nie wykona)

To co

Są dwa wyjścia:
1. Dostęp do
crona bezpośredni na serwerze "zainteresowanym" i odpalać skrypt wykonujący operacje bazodanowe co 10 min.
2. Dostęp do crona na innym serwerze, który wykona skrypt łączący sie ze skryptem na serwerze A i go wykonującym.
Tak czy inaczej potrzebujesz skryptu niezawodnie odpalanego w równych ostępach czasu, co oznacza
crona, nieważne gdzie.
Skobi
23.07.2005, 23:10:28
Cytat
mam pomysł na jedno rozwiązanie, ale jest ono gorsze od crona
dlatego pisalem, że jest to gorsze rozwiązanie, a co do
Cytat
A jeżeli na Jego stronę nikt nie wejdzie przez godzinę (przez godzie się nie wykona)

To co

to piszę żeby zapisywać w bazie kiedy się ostatni raż wykonał. Jeżeli zapis w bazie wskazuje na godzinę:
2005-07-23 23:00, a jest teraz 2005-07-24 00:09
to zwiększa wybrane rekordy o 6.
Spike
23.07.2005, 23:17:14
Uważam że rozwiązanie Skobi-ego było by dobre w tym przypadku gdyż brak jest crona - umieszczenie tego kodu zaproponowanego przez Skobiego znajdowało by sie gdzieś przed wyświetleniem tej informacji dla klienta i już klient widziałby zaktualizowany rekord
Zalezy dlaczego chcesz powiekszac regularnie o dana wartosc rekord. Jesli maja to byc dane dla odwiedzajacych witryne, to nawet w przypadku jesli nikt nie wchodzil na strone, to nie ma potrzeby aktualizowac dane (bo i tak Ci sie nie uda bez narzedzi typu CRON). Natomiast gdy wejdzie jakis user mozesz obliczyc ile czasu uplynelo od ostatniej aktualizacji i wykonac tyle powiekszen ile uplynelo czasu/cykli.
Ethel
24.07.2005, 10:54:22
W takim razie opowiem moją sytuacje: (tylko sie nie śmiejcie że taki lamus jak ja sie bierze za takie rzeczy

)
Mam zamiar napisać prostą gierke internetową, strategie turową (gracz sobie buduje budynki i wykonuje inne opcje następnie klika na przeliczenie tury i sie zmiany ktorych dokonał aktualizują w bazie ... może ktoś grał w gre typu RedDragon to będzie wiedział o co chodzi) i chciałbym aby co 10 minut była dodawana tura wszystkim graczą.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.