无法通过Python退出Bitmex testnet的websocket连接

无法通过Python退出Bitmex testnet的websocket连接,python,websocket,cryptocurrency,bitmex,Python,Websocket,Cryptocurrency,Bitmex,我正在尝试一些基本的东西来连接Bitmex testnet websocket。在使用market_depth()函数接收到一些数据后,我最初希望通过exit()函数关闭WS连接。但是不知为什么exit()函数不起作用,WS只是不断地向我推送数据 但令人惊讶的是,当我在调试模式下运行时,exit()函数实际上可以在我逐行运行脚本时关闭WS。背后的原因是什么?谢谢你的帮助。下面是我使用的代码 ps我是新使用REST或WS-api的,希望能以某种方式详细解释它 from bitmex_websock

我正在尝试一些基本的东西来连接Bitmex testnet websocket。在使用market_depth()函数接收到一些数据后,我最初希望通过exit()函数关闭WS连接。但是不知为什么exit()函数不起作用,WS只是不断地向我推送数据

但令人惊讶的是,当我在调试模式下运行时,exit()函数实际上可以在我逐行运行脚本时关闭WS。背后的原因是什么?谢谢你的帮助。下面是我使用的代码

ps我是新使用REST或WS-api的,希望能以某种方式详细解释它

from bitmex_websocket import BitMEXWebsocket
import logging


def run():
    logger = setup_logger()
    ws = BitMEXWebsocket(endpoint="https://testnet.bitmex.com/api/v1", symbol="XBTUSD",
                         api_key=None, api_secret=None)
    logger.info("Market depth: %s" % ws.market_depth())
    ws.exit()


def setup_logger():
    logger = logging.getLogger()
    logger.setLevel(logging.DEBUG)  # Change this to DEBUG if you want a lot more info
    ch = logging.StreamHandler()
    formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
    ch.setFormatter(formatter)
    logger.addHandler(ch)
    return logger


if __name__ == "__main__":
    run()

Bitmex_websocket模块文档Bitmex_websocket模块文档