Как лучше всего запустить Django на веб-сервере Tornado, чтобы иметь async + django admin + Возможности django orm?

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

wsgi_app = tornado.wsgi.WSGIContainer(
django.core.handlers.wsgi.WSGIHandler())
tornado_app = tornado.web.Application(
[
  ('/hello-tornado', HelloHandler),
  ('.*', tornado.web.FallbackHandler, dict(fallback=wsgi_app)),
])
server = tornado.httpserver.HTTPServer(tornado_app)
server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()

HelloHandler будет внутренним парсером.

Потеряю ли я производительность при объединении wsgi + ioloop?

Если это плохое решение, можно запустить 2 приложения: django admin и tornado web. Не могли бы вы ответить, как я могу использовать Django ORM с приложением Tornado?

8
задан Cœur 2 April 2017 в 14:37
поделиться