Vorrei poter consentire a un utente di visualizzare l'output di uno script GCI di lunga durata mentre viene generato anziché dopo il completamento dello script. Tuttavia, anche quando spengo esplicitamente STDOUT, il server sembra attendere lo script prima di inviare la risposta al client. Questo è su un server Linux con Apache 2.2.9.Come posso pubblicare un contenuto CGI senza buffer da Apache 2?
Esempio pitone CGI:
#!/usr/bin/python
import time
import sys
print "Content-type: text/plain"
print
for i in range(1, 10):
print i
sys.stdout.flush()
time.sleep(1)
print "Done."
esempio simile in Perl:
#!/usr/bin/perl
print "Content-type: text/plain\n\n";
for ($i = 1; $i <= 10 ; $i++) {
print "$i\n";
sleep(1);
}
print "Done.";
Questo link dice come di Apache uscita 1.3 CGI dovrebbe essere unbuffered (ma questo potrebbe applicarsi solo ad Apache 1.x): http://httpd.apache.org/docs/1.3/misc/FAQ-F.html#nph-scripts
Qualche idea?
Si può anche potenzialmente essere in esecuzione in client (browser) problemi di buffering -Spaccati. – Miles