
実現したいこと
websocketを使ってgmoとbitflyerの
非同期処理を行いたいです
価格の取得は2業者できてるとは思うのですが
非同期処理がうまくいきません。
print("gmo", bid, ask)とprint("bitflyer", bid1, ask1)を非同期処理で表示させるのは
どうしたらよいのでしょうか?
どなたかご指導のほどよろしくお願いします。
該当のソースコード
import asyncio import json import websocket async def gmo(): ws = websocket.WebSocketApp('wss://api.coin.z.com/ws/public/v1') def on_open(self): message = { "command": "subscribe", "channel": "orderbooks", "symbol": "BTC" } ws.send(json.dumps(message)) def on_message(self, message): bid = int(json.loads(message)['bids'][0]["price"]) ask = int(json.loads(message)['asks'][0]["price"]) print("gmo", bid, ask) ws.on_open = on_open ws.on_message = on_message ws.run_forever() async def bitflyer(): bit_ws = websocket.WebSocketApp('wss://ws.lightstream.bitflyer.com/json-rpc') def on_open1(self): message1 = { "method": "subscribe", "params": {"channel": "lightning_ticker_BTC_JPY"} } bit_ws.send(json.dumps(message1)) def on_message1(self, message1): ask1 = int(json.loads(message1)['params']['message']['best_ask']) bid1 = int(json.loads(message1)['params']['message']['best_bid']) print("bitflyer", bid1, ask1) bit_ws.on_open = on_open1 bit_ws.on_message = on_message1 bit_ws.run_forever() async def main(): await gmo() await bitflyer() asyncio.run(main())

マルチポストは非推奨ですよ
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11282498716?__ysp=d2Vic29ja2V0YXBw
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12282510187?__ysp=d2Vic29ja2V0YXBw

回答1件
あなたの回答
tips
プレビュー