Newsgroup: it.comp.www.php
Titolo: eseguire pagina in Background !! exec()????

Ciao a tutti,
  ho la necessità di eseguire una pagina php che mi elabora dei record di
spool,
il tempo di eleborazione non ha limiti (da 0 a minuti o a ore), quindi non
la posso eseguire all'interno di un browser.
Io pero' vorrei iniziare il processo da browser. A tal scopo ho usato la
funzione "exec()".
l'ho usata in questo modo:
exec("e:\php4\php.exe g:\path\phptestexec.php");
ma non ottengo il risultato voluto.
La schedulazione del processo da sistema non e' di grande utilita' peche' i
dati non arrivano con regolarita'.
L'importante e' lanciare il processo in background e continuare la
navigazione normalmente.
 Qualche suggerimento??
 grazie a tutti anticipatamente....

 ma non ottengo il risultato voluto.
Sotto w2k prova con "START E:\php4 ...";
Se non funziona prova con un "AT" (leggi nel cmd di windows "help AT")'.

 wrote in 
news:i1Pa8.17824$
tv6.4...@twister1.libero.it
:

con windows si possono comunque lanciare comandi in background con & in 
fondo all'istruzione!
ciao

 wrote in message
news:Xns91B5ACDC98...@10.16.96.46...

Quale windows?
Ho provato con AT e pare funzionante:
<?
$dt=date("H:i", time()+60);
system("AT $dt C:\\test.bat");
?>
in test.bat ho messo:
C:
cd C:\
dir > test.txt

 wrote in 
news:ppSa8.19350$
tv6.4...@twister1.libero.it
:

mi rimangio quello che ho detto....
forse mi confondevo con la redirezione dello STDOUT!!!
(comunque ho dovuto in questi giorni mettere in piedi una shell di export 
ORACLE quotidiana su un server NT e a momenti mi sparavo un colpo... 
windows come automatizzazione fa proprio schifo!!)
ciao

 windows come automatizzazione fa proprio schifo!!)
Dici? Lo trovo abbastanza facile, scrivi dei file .bat che contengono i
servizi da eseguire (C:\PHP\PHP script.php) e aggiungi un JOB nel
Scheduler. Aggiungere il job puoi automatizzare con VB o VC++ (se
servono le stesse cose su altri client). Ancora piu' facile con drag &
drop del programmino .bat sul scheduler.
;-)

 ;-)
mmhh...
ti faccio un esempio:
hai un server NT (INSTALLAZIONE BASE) con Oracle e applicazione.
l'export del DB occupa 1 GB (con compresso).
devi fare un export al giorno e archiviare i files su nastro una volta a
settimana... solo che il filesystem ha 3 gb di spazio allora devi
comprimere i files, oltre a dargli un nome diverso ogni giorno! 
e qui il bello:
l'azienda in oggetto non ha licenze su tool di comressione che non sia
winzip... (che cosě come lo installi non ha tool a linea di comando) 
(e il php sul server non c'č)
quindi:
- installa winzip 8.0
- scarica il tool wzcline per effettuare zip da linea di comando (solo se
hai licenza e winzip 8 installato)
- scrivi il batch ricavando la data di
sistema in formato stringa YYYYMMDD (mica tanto intuitivo) e il batch
deve: 
 esportare, comprimere il dump e cancellare il file non compresso...
(il tutto da pcanywhere...)
mentre con linux puoi, senza tanti casini (e col mitico telnet),
esportare via pipe direttamente in formato gz... 
vedi un po'...
ciao

 esportare via pipe direttamente in formato gz...
provato con i programmi del CYGWIN su windows?
li installi come sono, ma non lanci la shell, lo usi dal prompt dei
commandi (aggiungi prima nel autoexec i vari
C:\cygwin\bin;C:\cygwin\sbin;C:\cygwin\usr\bin;).
Cosi hai tanti di quei bel tool unix sotto windows...
Il pipe funziona, ma se Oracle sotto windows non ha un export dalla
cmd-shell e' piu' un problema di oracle
;-)

 cmd-shell e' piu' un problema di oracle
sulla pipe ho dei dubbi...
su unix funziona così:
DATA=_`date +%Y%m%d`
esporta() {
        mkfifo -m 700 exppipe
        gzip < exppipe > export${DATA}.dmp.gz &
        sleep 5
        exp parfile=export.par file=exppipe full=Y log=export.log
        rm exppipe
}
su DOS come lo traduci?
io ho dovuto fare così:
for /F "tokens=1,2,3,4 delims=/ " %%a in ('DATE /T') do set
bkdata=%%d%%c%%b 
    	exp parfile=export.par file=export_%bkdata%.dmp full=Y ...
    	c:\progra~1\winzip\wzzip -ybc export_%bkdata%.zip *.dmp 
    	del export_%bkdata%.dmp
non è proprio la stessa cosa!!
:-(
ciao

 su DOS come lo traduci?
Cosi elegante? Mai!