У меня есть код, написанный на django / python. Принцип состоит в том, что HTTP-ответ является функцией генератора. Он выводит вывод подпроцесса в окно браузера строка за строкой. Это работает очень хорошо, когда я использую тестовый сервер django. Когда я использую реальный сервер, он выходит из строя / в основном это просто мячи, когда вы нажимаете «Отправить» на странице раньше.
@condition(etag_func=None)
def pushviablah(request):
if 'hostname' in request.POST and request.POST['hostname']:
hostname = request.POST['hostname']
command = "blah.pl --host " + host + " --noturn"
return HttpResponse( stream_response_generator( hostname, command ), mimetype='text/html')
def stream_response_generator( hostname, command ):
proc = subprocess.Popen(command.split(), 0, None, subprocess.PIPE, subprocess.PIPE, subprocess.PIPE )
yield "<pre>"
var = 1
while (var == 1):
for line in proc.stdout.readline():
yield line
У кого-нибудь есть предложения о том, как заставить это работать на реальном сервере? Или даже как отлаживать почему не работает?