2016-12-01 9 views
0

私はTwisted Kleinアプリケーションを持っています。このアプリケーションは、私たちの展開環境で複数のポートで聴く必要があります。フラスコでは、私はgunicornで展開するだろうし、あなたはKlein in a wsgi containerを実行することができるようだが、それはそれの非同期性を敗北させるだろう。Twisted Kleinアプリは複数のポートでどのように聴くことができますか?

答えて

0

この質問の回答Twisted listening on multiple ports私はKlein app.run()メソッドに掘り下げましたが、アプリを呼び出す前に別のツイストエンドポイントを設定していればうまくいくようです。これが正しいアプローチであるかどうかについての洞察は高く評価されます。注意と精度で設計した場合

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は、オブジェクトを複数の個別のプロセスに分岐します。これにより、スケーリングが可能になります。同様の結果を得る1つの方法は、異なるポート上の複数の '' klien''プロセスと組み合わせてロードバランサ( '' nginx''が組み込まれています)を使用することです。あなたがgunicronに傾くようになっている特定の問題はありますか? –

+0

そうですね、複数のkleinプロセスを稼働させて、それぞれ独自のポートを持つようにすると、私はまだ規模を拡大します。 – patricksurry

関連する問題