Jak mogę obsłużyć niebuforowaną zawartość CGI z Apache 2?

Chciałbym móc zezwolić użytkownikowi na wyświetlanie danych wyjściowych długotrwałego skryptu GCI, ponieważ jest on generowany, a nie po zakończeniu skryptu. Jednak nawet po jawnym opróżnieniu STDOUT serwer wydaje się czekać na zakończenie skryptu przed wysłaniem odpowiedzi do klienta. To jest na serwerze Linux z systemem Apache 2.2.9.

Przykładowy python 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."

Podobny przykład w perlu:

#!/usr/bin/perl

print "Content-type: text/plain\n\n";

for ($i = 1; $i <= 10 ; $i++) {
        print "$i\n";
        sleep(1);
}

print "Done.";

Ten link mówi, że wyjście Apache 1.3 CGI powinno być niebuforowane (ale może to dotyczyć tylko Apache 1.x):http://httpd.apache.org/docs/1.3/misc/FAQ-F.html#nph-scripts

Jakieś pomysły?

questionAnswers(4)

yourAnswerToTheQuestion