Как приложение Twisted Klein может прослушивать несколько портов?
У меня есть приложение Twisted Klein, которое должно прослушивать несколько портов в нашей среде развертывания. С Flask я бы развернул с gunicorn, и кажется, что вы можете запустить Klein в контейнере wsgi, но это победит асинхронную природу этого.
1 ответ
Вдохновленный этим вопросом о прослушивании Twisted на нескольких портах, я копался в методе Klein app.run(), и, похоже, он сработает, если вы просто настроите другую конечную точку Twisted до вызова приложения. Любое понимание того, является ли это правильным подходом, будет оценено.
from twisted.web.server import Site
from twisted.internet import reactor, endpoints
...
admin_endpoint = "tcp:port={0}:interface={1}".format(8888, '0.0.0.0')
endpoints.serverFromString(reactor, admin_endpoint).listen(Site(app.resource()))
...
app.run('0.0.0.0', port=9999)