Timer podtrzymujący proces

0

Witam

Czy jest taka możliwość, żeby na swojej stronie www, która obsługuje php, zamieścić Timer który np. co godzine by podtrzymywał jakiś proces np. sesje na stronie www? Coś takiego na pewno jest możliwe za pomocą crona ale moja strona go nie obsługuje.

0

Cześć. akurat mnie interesuje ten aspekt... bardzo interesujący ponieważ mam hosting płatny na home.pl i w timerze może bym dał radę zawrzeć jakieś automatycznie wykonywanie zleconych czynności...

bardzo mnie ciekawi czy to by się dało jak timer w programie desktopowym GUI w Visual Studio... czy to jest taki sam timer ?

nie ogarniam czy w ogóle w php na serwerze da się timer postawić co by co prawtycznego automatycznie na serwerze robił ?!

Caligula

0

Takie cuda to chyba tylko po stronie serwera. Aczkolwiek znalazlem timer napisny w php (nie testowalem). Z tym, ze to chyba wyglada tak, ze musialbys miec otwarta strone w oknie przegladarki no i chyba czas wykonywania skryptu jest ograniczony przez serwer (przewaznie) wiec to troche takie slabe rozwiazanie ;)

<?php 

class Timer { 

   var $classname = "Timer"; 
   var $start = 0; 
   var $stop = 0; 
   var $elapsed = 0; 

   # Constructor 
   function Timer( $start = true ) { 
      if ( $start ) 
         $this->start(); 
   } 

   # Start counting time 
   function start() { 
      $this->start = $this->_gettime(); 
   } 

   # Stop counting time 
   function stop() { 
      $this->stop = $this->_gettime(); 
      $this->elapsed = $this->_compute(); 
   } 
   
   # Get Elapsed Time 
   function elapsed() { 
      if ( !$elapsed ) 
         $this->stop(); 

      return $this->elapsed; 
   } 
   
   # Get Elapsed Time 
   function reset() { 
      $this->start = 0; 
      $this->stop = 0; 
      $this->elapsed = 0; 
   } 

   #### PRIVATE METHODS #### 
   
   # Get Current Time 
   function _gettime() { 
      $mtime = microtime(); 
      $mtime = explode( " ", $mtime ); 
      return $mtime[1] + $mtime[0]; 
   } 
   
   # Compute elapsed time 
   function _compute() { 
      return $this->stop - $this->start; 
   } 
} 

?> 
0

Chodzi mi raczej właśnie o to, żeby nie musieć mieć włączonej przeglądarki ani nawet komputera, tylko żeby serwer php na tym moim hostingu, sam co jakiś czas wykonywał jakiś skrypt php.

0

Jak nie masz nawet crona to po prostu zmień hosting. Na obecnym się nie da. Ew. skorzystaj z zewnętrznego wywoływania skryptów: https://cron-job.org/en/

0

W home.pl na pewno jest cron i działa jak należy(sam korzystam): https://pomoc.home.pl/baza-wiedzy/cykliczne-uruchamianie-cron/

0

Moja strona php od razu wysyła wiadomość podtrzymującą sesję przy użyciu fsocket - niestety żaden cron którego testowałem widocznie nie obsługuje tych fsocketów bo nic nie jest wysyłane, wchodzi tylko na strone i to wszystko.

0

Czy naprawde niemożliwe jest trzymanie bycia non-stop zalogowanym bez wydania kilkuset zł miesięcznie na vps?

0

Jest możliwe, przecież już uzyskałeś odpowiedzi, i jest też dość proste, tylko brakuje Ci i wiedzy, i samozaparcia żeby braki w wiedzy uzupełnić.
Na tym forum nikt nie poda Ci na tacy gotowego rozwiązania.

0

Dostałem odpowiedzi w postaci linków do crona online i płatnej strony home.pl, ale w przypadku jak sesja mojej strony może być podtrzymywania tylko przez sockety albo fsockety to taki darmowy cron nie zadziała, bo prawdopodobnie ma inną konfiguracje php niż serwer php na moim hostingu.

0

Niby dlaczego miałby nie zadziałać? Co ma konfiguracja php do crona? Z poziomu crona robisz sobie proste wywołanie dowolnej strony na dowolnym serwerze, chociażby i Twoim. A na Twoim serwerze robisz już co chcesz.

0

Tzn. teoretycznie działa, ale nic mi po tym że wchodzi na stronę jak nie wykonuje tego skryptu php na moim hostingu, który się łączy z fsocketami. Drugi darmowy cron online http://setcronjob.com też się nie łączy.

0

Przecież "wejście na stronę" oznacza wykonanie skryptu, który tę stronę generuje. Nie ma innej możliwości, chyba że po drodze stoi cache albo coś spieprzyłeś.

0

Też mnie to dziwi, tym bardziej że na tym moim hostingu zawsze po wejściu na stronę php, wiadomość przez fsocket jest bez problemu wysyłana a gdy cron wchodzi na ten sam skrypt, to żadna wiadomość nie jest wysyłana.

1

Zadziałało dopiero na jakimś porządnym amerykańskim hostingu, który oferuje crona, więc jednak da się i to za darmo. Może za 20 lat też na polskich hostingach.

2
Wolny Kot napisał(a):

Witam

Czy jest taka możliwość, żeby na swojej stronie www, która obsługuje php, zamieścić Timer który np. co godzine by podtrzymywał jakiś proces np. sesje na stronie www? Coś takiego na pewno jest możliwe za pomocą crona ale moja strona go nie obsługuje.

Prawidłowe pytanie powinno brzmieć - "po co chcesz podtrzymywać sesję za pomocą crona". Ale widać nikomu absurdalność tego pomysłu nie przeszkodziła w szukaniu dziwnych rozwiązań :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.