traceroute와 같은 일부 시스템 명령의 출력에 의존하는 Pylons에 응용 프로그램을 작성 중입니다. 명령이 완료 될 때까지 기다렸다가 한 번에 모두 표시하기보다는 생성 된대로 명령 출력을 표시하고 싶습니다.Pylons를 사용하여 느린 스크립트의 업데이트 출력을 표시하려면 어떻게해야합니까?
How can I perform a ping or traceroute in python, accessing the output as it is produced?
지금 나는 그것이있는 그대로 브라우저에이 정보를 얻을 수있는 방법을 찾을 필요가 :
는이 질문에 대한 답변과 파이썬으로 명령의 출력에 액세스하는 방법을 발견 생성됩니다. jQuery의 loadContent()를 사용하여 스크립트의 출력을 로딩 할 계획이었다. 문제는 Pylons 컨트롤러가return
을 사용하므로 Pylons가 페이지를 렌더링하고 웹 서버가 클라이언트에 컨텐트로 응답하기 전에 출력이 완료되어야한다는 것입니다.
Pylons에서 생성 된 내용을 페이지에 표시 할 수있는 방법이 있습니까? 아니면 Pylons 외부에서 스크립팅을해야합니까?
기본적으로,이 같은 것을 할 노력하고있어 : http://network-tools.com/default.asp?prog=trace&host=www.bbc.co.uk
수익 대신 수익률과 같은 것을 의미합니까? –
yield를 사용하면 내용을 줄 단위로 생성 할 수 있지만 출력은 클라이언트에 보내기 전에 페이지가 완료 될 때까지 여전히 버퍼링됩니다. –
WSGI 사양에서는 WSGI 응용 프로그램의 생성기에서 생성 된 각 문자열을 WSGI 어댑터에서 클라이언트로 플러시합니다. WSGI 어댑터가 버퍼링 할 수 없습니다. 따라서 WSGI 어댑터의 경우에는이 구문이 기술적으로 올바르지 않습니다. 따라서 WSGI 어댑터 바로 위에 WSGI 응용 프로그램을 통해 양보가 수행되면 즉시 클라이언트로 다시 보내야합니다. 고수준의 파이썬 프레임 워크가 그 동작을 유지하지 못한다면 WSGI 애플리케이션의 성격에 맞춰 작동하지 않습니다. –