Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: uruchamianie skryptu w danym czasie
Forum PHP.pl > Forum > Przedszkole
sivy
witam!

na wstępie -> przeczytałem (chyba) wszystko o cron'ie i nie mam zamiaru powielać tego tematu.

chodzi mi jednak o to, by uruchomić pewien skrypt, ale z większą dokładnością niż to oferuje cron. chciałbym -> co do sekundy.

dałoby się coś takiego zrealizować nie mając bezpośredniego dostępu do serwera?

pozdrawiam!
ActivePlayer
mozesz sobie napisac skrypt, działający w tle, i uruchamiający pewne usługi o danych porach... wtedy mozesz nawet z dokładnoscią co do milisekundy ^^
sivy
yyyyy... a jak zrobić żeby se w tle pracował? nie bedzie jakiego time-out'owego wykopa z serwera??

a jeśli to tak ma śmigać... to gdzie mam szukać informacji o tym?
PMadej
moj cron dziala co do sekundy wiec nie wiem za bardzo czemu ci on nie pasuje. a skrypt dzialajacy w tle to nie bedzie nic innego jak kolejny daemon cron'a bo bedzie robil to samo ... czyli uruchamial skrypty o konkretnej godzinie minucie no moze i sekundzie jak ci to jest potrzebne zeby wywolac skrypt o 13:43:17,

skrypt musi zawierac petle nieskonczona z dodanym sleep(1) i sprawdzanie czasu, jesli czas sie zgadza z ustawionym dla danego skryptu jest odpalany,

jeszcze jedno bez dostepu do powloki na serwerze nie odpalisz tego skryptu
sivy
no już odpowiadam...

dostępu do powłoki nie mam, a mój cron ma dokładność 1min...
dr_bonzo
Nie dokladnosc a minimalna czestotliwosc uruchamiania procesow.

Uruchom sobie cronem RAZ swoj skrypt ktory bedzie co sekunde robil to co ma robic
sivy
pisząc dokładność miałem na myśli to, że nijak nie ustawię konkretnej żądanej przeze mnie godziny:minuty:sekundy... w najgorszym wypadku więc będę miał +- 30 sekund pomyłki...

a teraz co do koncepcji pojedynczego uruchomienia skryptu:
1. jak go ewentualnie bede mógł zatrzymać? (usunąć plik z serwera??)
2. po krótkim czasie mi się rozsynchronizuje- przecież samo wykonanie skryptu też zajmie określony czas, a nie sposób dokładnie tego przewidzieć ile bedzie trwało wykonanie...

jakieś inne koncepcje?
dr_bonzo
1. Tworzysz demona chodzacego caly czas w tle i co sekunde tworzacego nowy proces (lub watek) (po co ci taka czestotliwosc?questionmark.gif) (tu znow mozna miec zastrzerzenia ze w sekunde to proces sie nie uruchomi, itd), ktory robi to co ma robic. Co sekunde uruchomiony zostanie skrypt/program, ktory bedzie sie produkowal przez nieokreslony czas, bycmoze rownoczesnie z innymi skryptami operujac na tych samych danych, itd...

2. Moze napisz co chcesz uzyskac
sivy
może inaczej spróbuję...

nie potrzebuję, a raczej nawet nie chcę takiej częstotliwości.


a co chcę?

otóż chcę mieć możliwość uruchomienia określonego skryptu o dokładnym czasie (powiedzmy co do +- sekundy). to kiedy by się to miało wykonać powiedzmy że pobierałbym z jakiejś bazy...

natomiast uruchamianie jakichkolwiek programów, raczej nie wchodzi w grę. oprzeć to muszę wyłącznie o dostęp poprzez ftp do konta... no + cPanel z cronem (który może się uruchamiać nie częściej niż co minutę).

reasumując zastanawiam się czy da się to zrobić w oparciu o narzędzia, które wyżej wymieniłem...

pozdrawiam!
PMadej
da się.
Ustawiasz w cronie odpalenie co do minuty skryptu. nastepnie w skrypcie ustawiasz sleep(liczba sekund o ktorej ma byc odpalony skrypt) i po tym reszte skryptu

jak nie o to ci chodzi to ja juz innych pomyslow nie mam albo nie rozumiem twojego toku rozumowania.
ActivePlayer
uruchamiasz cronem skrypt powiedzmy 3 sekundy wczesniej.

w skrypcie masz tak:
  1. <?php
  2.  
  3. // pobieranie potrzebnych danych
  4. while($czas_kiedy_ma_sie_uruchomic<current_czas){;}
  5. // kod ktory ma sie uruchomic w danej sekundzie
  6.  
  7. ?>


i masz dokładnosc co do sekundy, a uruchamiasz to ~~~3 sec wczesniej dla pewnosci, ze dane zdążą sie pobrac itd.
sivy
ok, dzięki, popróbuję smile.gif

hehe! spoko, bo nie wykopuje z serweka jak się dużo sleep'ów daje więc problem rozwiązany do końca smile.gif (sprawdzałem dla sleepów do 100sekund)

dzięki wszystkim za zainteresowanie i pomoc guitar.gif
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.