2016-12-01 49 views

回答

0

受这个关于Twisted listening on multiple ports的问题的启发我深入研究了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) 
+0

如果设计有小心和精确,单个''klein''应用可以扩展同样以及运行3或4''flask''应用一个gunicron过程。你的例子看起来不错,但请记住,这将是一个单线程应用程序。 Gunicorn将wsgi对象分成多个独立的进程,这可以让你进行扩展。获得类似结果的一种方法是使用负载均衡器(''nginx''有一个内置的)并结合不同端口上的多个''klien''进程。是否有一个特殊问题让你倾向于电子枪? –

+0

对,我仍然会通过运行klein进程的多个副本来进行扩展,每个副本都有自己的一对端口。 – patricksurry