2013-02-12 3 views
0

Я создал небольшой проект django для обслуживания музыки. Все проходит через джанго, даже потоковая часть (проект действительно маленький, максимум 2-3 пользователя).Небуферизованный выход из торнадо с использованием wsgi

Теперь я хочу сделать проект автономным, поэтому я использую торнадо в качестве веб-сервера. Я использую что-то вроде следующего:

os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings' 
wsgi_app = tornado.wsgi.WSGIContainer(
    django.core.handlers.wsgi.WSGIHandler()) 

tornado_app = tornado.web.Application([ 
    (r'/static/(.*)', tornado.web.StaticFileHandler, {'path': STATIC_DIR}), 
    (r'.*', tornado.web.FallbackHandler, dict(fallback=wsgi_app)), 
]) 
server = tornado.httpserver.HTTPServer(tornado_app)                          
server.listen(8888) 
tornado.ioloop.IOLoop.instance().start() 

Торнадо, хотя, кажется, буфер вывода и в результате потоковой музыки не представляется возможным. Есть ли способ изменить это поведение? Или есть еще один веб-сервер в python, который может служить как для приложения wsgi, так и для статических файлов?

EDIT: После некоторых исследований я пришел к выводу, что проблема, скорее всего, заключается в WSGIContainer. Кажется, что в the definition of WSGIContainer ответ считывается в буфер, а затем записывается клиенту. Итак, вместо того, чтобы катить мой собственный WSGIContainer на основе оригинала, есть ли лучший способ сделать это?

ответ

0

От this issue, похоже, что торнадо не подходит для того, что мне нужно. Я, вероятно, собираюсь использовать CherryPy, который работает из коробки.

Смежные вопросы