Newsgroup: it.comp.www.php
Titolo: fregare il timeout di esecuzione

Buonasera a tutti,
Mi servirebbe un vostro parere sull'escamotage che ho pensato per fregare 
il timeout:
se ho una funzione che ci mette più di 30 secondi da eseguirsi potrei 
controllare il tempo di esecuzione ad ogni ciclo del for in essa, e se 
superiore ai 20 secondi richiamare la stessa pagina passando nell'url il 
valore da cui riprendere l'esecuzione del ciclo.
è una cosa fattibile? ci sono metodi migliori e più eleganti?
Grazie e ciao

 ha scritto nel messaggio
news:b86id8$1na$1...@newsreader.mailgate.org...


 è una cosa fattibile? ci sono metodi migliori e più eleganti?
guardati set_time_limit(), fa esattamente cio' che vuoi fare tu
ciao
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE+pz6iZmjYv+67TQ0RAs7VAKCdjrmWEBByv0C57l3IkgdMiLZ51QCfbrFu
nECD04hBy3/rBeEpqPL+8hA=
=fUUY
-----END PGP SIGNATURE-----

 guardati set_time_limit(), fa esattamente cio' che vuoi fare tu
lo farebbe se non fossi in safe mode :(
inoltre lo script può durare dai 10 minuti alle decine di ore.
per questi motivi sto cercando un metodo alternativo.

guardati set_time_limit(), fa esattamente cio' che vuoi fare tu
Tranne una cosa: non puo' convincere Internet Explorer a mantenere su la
connessione allo scadere di (IIRC) 45 secondi :-(
Leonardo

non ho capito una cosa pero',
il timeout di cui parla endelwar e' quella dell'interprete php o del
browers?
Me lo chiedo perche' magari e' uno script che lancia direttamente via
shell/cgi/rigadicomando e quindi IE non conta....
Ciao,
~omar


shell/cgi/rigadicomando e quindi IE non conta....
In quel caso avrebbe grossa grisi a, come dice lui, "richiamare la
stessa pagina passando nell'url il valore".
No, temo che il tapino abbia a che fare con un browser :-) :-(
Anch'io del resto risolvo con refresh; anche perche', cosi', evito
il rischio di lasciare script zombie a giro (si', in teoria il PHP
si accorge quando il client si e' stufato; in realta' ho notato un
certo livello di disattenzione :-) -- se uno script non ha output,
puo' sopravvivere anche un bel po' alla chiusura del browser).
Leonardo

 puo' sopravvivere anche un bel po' alla chiusura del browser).
Questa cosa mi preoccupa, soluzioni?

 puo' sopravvivere anche un bel po' alla chiusura del browser).
Quindi puoi darmi la tua "benedizione" nel seguir il metodo che mi è venuto 
in mente?

in mente?
Temo di esserci costretto.
Per periodi lunghi, lancio processi paralleli con at(1) (richiesto
server Linux e PHP da linea di comando, temo):
	nice [...] php ($FILE) 2>&1 > /dev/null
e poi $FILE (che gira senza time_limit) s'occupa anche di scrivere
lo stato di avanzamento, oltre che di controllare che non ci siano
suoi "fratelli" rimasti zombizzati.
Una pagina apposita elenca i processi PHP attivi e terminati, e mi
consente di vedere l'output di quelli terminati con successo, dato
che lo salvo con ob_* e lo sbatto in un file apposito.
Il file di "comunicazione" e' PHP e contiene un brutale array
	'processo1'	=> 'stato:fileoutput:altrecazzate',
	'processo2'	=> '...',
	...
Leonardo
-- 
the shadow of the dome of pleasure
floated midway on the waves,
where was heard the mingled measure
from the fountain and the caves.