- [Async Fetch Many Orderbooks Continuously](./examples/py/) ```python # -*- coding: utf-8 -*- import os import sys from asyncio import gather, run import ccxt.async_support as ccxt # noqa: E402 async def symbol_loop(exchange, symbol): print('Starting the', exchange.id, 'symbol loop with', symbol) while True: try: orderbook = await exchange.fetch_order_book(symbol) now = exchange.milliseconds() print(exchange.iso8601(now), exchange.id, symbol, orderbook['asks'][0], orderbook['bids'][0]) # --------------------> DO YOUR LOGIC HERE <------------------ except Exception as e: print(str(e)) # raise e # uncomment to break all loops in case of an error in any one of them break # you can break just this one loop if it fails async def exchange_loop(exchange_id, symbols): print('Starting the', exchange_id, 'exchange loop with', symbols) exchange = getattr(ccxt, exchange_id)() loops = [symbol_loop(exchange, symbol) for symbol in symbols] await gather(*loops) await exchange.close() async def main(): exchanges = { 'okex': ['BTC/USDT', 'ETH/BTC', 'ETH/USDT'], 'binance': ['BTC/USDT', 'ETH/BTC'], 'bitfinex': ['BTC/USDT'], } loops = [exchange_loop(exchange_id, symbols) for exchange_id, symbols in exchanges.items()] await gather(*loops) run(main()) ```