私は2つのWebSocketを扱う関数を書いており、各WebSocketの応答は共有DataFrame dfを変更します。PythonでFIFO方式で複数のWebSocketを処理する方法は?
import json
import asyncio
import websockets
@asyncio.coroutine
def printResponse(df, dataSocket, quoteSocket, dataRequest, quoteRequest):
yield from dataSocket.send(dataRequest)
yield from quoteSocket.send(quoteRequest)
response = yield from dataSocket.recv() # skip first response
response = yield from quoteSocket.recv() # skip first response
while True:
response = yield from dataSocket.recv()
print("<< {}".format(json.loads(response)))
df = changeRecord(df, response)
response = yield from quoteSocket.recv()
print("<< {}".format(json.loads(response)))
df = changeRecord(df, response)
現在のコードは、2つのWebSocketを順番に処理しているようです。私は、どのWebSocketから来ているかに関係なく、「先入れ先出し」の方法で応答を処理したいと考えています。この目標を達成するために私はどのように変更すべきですか?
は、のDataSocketとquoteSocket同じDFの仕事や二つの別々のDFを行いますか? – kinreyli
私の目標は、両方のWebSocketからの応答を同じdfで行うことです。 dataSocketによって更新されたdfは、quoteSocketの応答に利用可能でなければなりません。 – kinreyli
この構造はうまくいきます。感謝します! – kinreyli