AsyncClient python3 socketio

Я пытаюсь непрерывно получать orderbook с биржи stex, там используется socketio. Я пытаюсь получать обновления, но спустя несколько обновлений скрипт падает с ошибкой socketio.exceptions.BadNamespaceError: / is not a connected namespace после разрыва соединения.

async def subscribe_quote_ws(pair, rates_dict):
    subscribe_period = datetime.timedelta(hours=8)

    url = 'https://socket.stex.com'


    sell_client = socketio.AsyncClient()
    buy_client = socketio.AsyncClient()

    await buy_client.connect(url, transports=['websocket'])
    await sell_client.connect(url, transports=['websocket'])


    @buy_client.event
    def handler_func(msg, order):
        print(msg, order)

    @buy_client.event
    def connect():
        print("I'm connected!")

    @buy_client.event
    def connect_error(data):
        print("The connection failed!")

    @buy_client.event
    def disconnect():
        print("I'm disconnected!")

    @sell_client.event
    def handler_func(msg, order):
        print(msg, order)

    @sell_client.event
    def connect():
        print("I'm connected!")

    @sell_client.event
    def connect_error(data):
        print("The connection failed!")

    @sell_client.event
    def disconnect():
        print("I'm disconnected!")

    channel = 'sell' + '_data' + str(1287)
    channel2 = 'buy' + '_data' + str(1287)


    while True:
        await sell_client.emit('subscribe', {
        'channel': channel,
        'auth': {}
    })
    await buy_client.emit('subscribe', {
        'channel': channel2,
        'auth': {}
    })
        sell_client.on("App\\Events\\GlassRowChanged", handler_func)
        buy_client.on("App\\Events\\GlassRowChanged", handler_func)
        await asyncio.sleep(4)



if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(subscribe_quote_ws(['LONG', 'USDT'], 0))

Подскажите пожалуйста, как правильно оформить получение данных?


Ответы (0 шт):