Как я могу обслуживать небуферизованный контент CGI из Apache 2?
Я хотел бы иметь возможность разрешить пользователю просматривать выходные данные долго выполняющегося сценария GCI по мере его создания, а не после завершения сценария. Однако даже когда я явно сбрасываю STDOUT, сервер, похоже, ожидает завершения сценария, прежде чем отправить ответ клиенту. Это на сервере Linux под управлением Apache 2.2.9.
Пример 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."
Подобный пример в Perl:
#!/usr/bin/perl
print "Content-type: text/plain\n\n";
for ($i = 1; $i <= 10 ; $i++) {
print "$i\n";
sleep(1);
}
print "Done.";
Эта ссылка говорит, что начиная с Apache 1.3 вывод CGI должен быть небуферизованным (но это может относиться только к Apache 1.x):http://httpd.apache.org/docs/1.3/misc/FAQ-F.html#nph-scripts
Есть идеи?