私はPythonで、この闊歩サーバAutobahn Twisted websocketサーバーとSwaggerサーバーは、Pythonでマルチスレッド化されていますか?
app = connexion.App(__name__, specification_dir='./swagger/')
app.app.json_encoder = JSONEncoder
app.add_api('swagger.yaml', arguments={'title': ''})
app.run(port=8080)
と、このWebSocketのサーバー2つの異なるスレッドで
from autobahn.twisted.websocket import WebSocketServerProtocol
import sys
from twisted.python import log
from twisted.internet import reactor
log.startLogging(sys.stdout)
from autobahn.twisted.websocket import WebSocketServerFactory
factory = WebSocketServerFactory()
factory.protocol = MyServerProtocol
reactor.listenTCP(9000, factory)
reactor.run()
を実行できますか?最終的に、id
がswagger APIに投稿されたとき、私はこのid
を私のwebsocketサーバーに転送し、それから私のwebsocketクライアントへの既存の一致接続を介して送信したいと思います。だから私は2つのスレッドでこれらの2つを実行すると、おそらく私はこのid
を変数として共有できると思った。
SwaggerまたはTwisted websocketで何かがスレッドを積極的に防御しない限り、両方がサービスのバックグラウンドで実行されている限り、動作しない理由はありません。しかし、異なるスコープを考えると、IPCの形式を使用してこれらの2つの間でデータを交換することによって、懸念の分離を行い、両方を個別のインスタンスとして実行する方が良い考えがあります。 [プロセス間通信とネットワーク](https://docs.python.org/3/library/ipc.html)にリストされているいくつかの組み込み方法があり、それを実行するにはメトリックトンの方法があります外部リソース。 – zwer