在流式传输 Websocket 时使用 REST API

Use REST API while streaming Websocket

如何在通过 Websocket 流式传输时通过 REST API 请求?

示例:
使用交易所 API.
进行交易的客户端和交易所服务器之间的通信 具体来说,我想使用 REST API 请求发送订单,
然后我想通过私有 Websocket 从交易所接收我的订单信息。

下面是代码。
如果我开始订阅 Websocket(参见 1),它将进入 ws.run_forever() 循环。
2. 如何在ws.run_forever()循环中执行,以便一旦执行订单我立即收到来自交易所服务器的订单信息?

1。通过 Websocket 进行流式传输

# Subscribing to order information from an exchange via WebSocket API

import json
import websocket

def on_open(self):
    message = {
        "command": "subscribe",
        "channel": "orderEvent"
    }
    ws.send(json.dumps(message))
    
def on_message(self, message):
    # do something...

endpoint = "url"
ws = websocket.WebSocketApp(endpoint,
                            on_open=on_open,
                            on_message=on_message
                            )
ws.run_forever()

2。通过 REST 发送订单 API

# Sending order

import requests

    reqBody = {
        "side": BUY,
        "amount" : AMOUNT,
    }

    requests.post("request_url", headers=headers, data=json.dumps(reqBody))

在处理邮件时,您可以决定是否提交订单。这样的东西应该可以工作

def on_message(self, message):
    if something:
        response = buy_stock(AMOUNT)
    
def buy_stock(AMOUNT):
    reqBody = {
        "side": BUY,
        "amount" : AMOUNT,
    }

    r = requests.post("request_url", headers=headers, data=json.dumps(reqBody))
    return r