假如我们想要使用新浪l2数据接口该如何布局呢?大家都知道新浪的数据是相当及时的,而且获取难度也并不算太高,我们要这样布局环境,才能方便新浪l2数据接口的接入呢?
首先,布局新浪l2数据接口,我们可以建立一个监听器,在程序启动前执行一些全局化的操作, 这里我们可以将订阅全推市场行情放到这里,这样的话每次启动都会自动执行,订阅时返回一个订阅ID,为了避免内存泄漏,在程序结束时我们要记得使用新浪l2数据接口将这些订阅取消。
@api.listener('before_server_start')
async def before_server_start(app, loop):
'''全局共享session'''
global session, subscribe_ids, hs300_component, csi500_component, csi1000_component
jar = aiohttp.CookieJar(unsafe=True)
session = aiohttp.ClientSession(cookie_jar=jar, connector=aiohttp.TCPConnector(ssl=False))
subscribe_ids = []
subscribe_ids.append(xtdata.subscribe_whole_quote(['SH', 'SZ', 'SHO', 'SZO', 'HK', 'IF', 'ZF', 'DF', 'SF']))
hs300_component, csi500_component, csi1000_component = get_a_index_component()
@api.listener('after_server_stop')
async def after_server_stop(app, loop):
'''关闭session'''
for seq_num in subscribe_ids:
xtdata.unsubscribe_quote(seq_num)
await session.close()
好了,关于新浪l2数据接口的布局,今日暂时就说这么多,希望对大家有帮助。
联系客服