![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
|
|
LinkBack | Strumenti di discussione |
|
|
#31 (permalink) |
|
Banned
User
Data di registrazione: Jan 2008
Ubicazione: Milano
Messaggi: 279
|
vediamo...
![]() allora, mettiamo che tu non voglia appoggiarti a un db, prendiamo l'array come input: $crons = array( array("nome"=>"cron1", "intervallo"=>"5", "ultimaesecuzione"=>"09:00", "funzione"=>"func1()"), array("nome"=>"cron2", "intervallo"=>"15", "ultimaesecuzione"=>"09:00", "funzione"=>"func2()")while(true){ foreach($crons as $cron){ }if(sonopassati($cron['intervalli'])minuti da $cron['ultimaesecuzione']) {}eval( $cron['funzione']);} considera l'ora tarda ... potrei aver scritto una marea di frottole ![]() |
|
Ultima modifica di saro78 : 06-06-08 01:48. |
|
|
|
|
|
|
#32 (permalink) |
|
User
Data di registrazione: Aug 2009
Messaggi: 13
|
Salve a tutti, trovo anch'io molto utile questa funzione, ma se dovessi avviare un cron, una volta sola al giorno e ad un'ora specifica... come posso fare?
Io uso dolphin, e avrei bisogno di far funzionare circa 5 cron, ma il mio host non supporta il cron job... Tra questi cron, 2 devono partire solo una volta al giorno e solo ad una certa ora... Ringrazio tutti... |
|
|
|
|
|
#33 (permalink) |
|
User Newbie
Data di registrazione: May 2008
Messaggi: 9
|
trovo molto interessante questo cron, ma ho provato in tutte le maniere a fermarlo, sia quelle descritte da voi che leggendo altri post in cui si faceva riferumento a files esterni. Il risultato non cambia...una volta avviato, arrivano messaggi in continuazione, l'unico modo per fermarlo è chiudere il server o riavviarlo. Grazie a Dio ho fatto tutte le prove in locale altrimenti avrei dovuto aspettare che il mio provider riavviasse il server, cosa che non fanno tanto facilmente.
Se qualcuno ha da proporre qualche altra soluzione al problema sarei felice di testarla. |
|
|
|
|
|
#34 (permalink) |
|
Moderatore
|
Ciao mephjl,
la soluzione migliore è fare un controllo nel ciclo con file_exists in modo che sia sufficiente creare il file per interrompere l'esecuzione dello script. |
|
|
|
|
|
#35 (permalink) |
|
User Newbie
Data di registrazione: May 2008
Messaggi: 9
|
ho provato anche così, forse ho sbagliato, ti posto il codice :
ignore_user_abort(true); set_time_limit(0); $interval=60*60*24; //una volta al giorno do{ if(file_exists("fermati.stop")) exit; // funzioni da svolgere ogni 60 minuti sleep($interval); // funzione per attendere }while(true); Se ho capito bene : se non c'è un file nella root che si chiama fermati.stop lo script va avanti, se c'è si dovrebbe fermare non appena richiamo la pagina. Non funziona. |
|
|
|