3.18K 浏览
0

1、

wait_update在停盘后无限时阻塞,如果期间远程报http500或其他错误,api实例是否依旧可用?

2、

节假日实盘账户无法登录的,如果在交易日登录,然后持续运行,节假日期间不退出,假期过后新的交易日,api实例是否依旧可用?

lookis 已回答的问题 2020年10月8日
1
  1. 如果是远程报500 那不好说,一切都有可能,因为 wait_update 主要逻辑就是通过 websocket 订阅 服务器的数据,而Tq又是通过 diff 协议传输,所以如果服务端出错,比方说500的话,在行情方面就会断开连接,然后 TqApi 会自己发起重连,此时 api实例是可用的,wait_update 还有一些其它逻辑是通过 http 请求的,如果遇到错误, api 部分接口会重试,但重试有上限,如果达到上限服务器还没有正常返回的话,实际对象的状态就是不可知
  2. 理论上 api 实例是可用,但是数据会有问题,所以不光是在节假日实盘需要在新的交易日重启,平时的交易日最好也是每天重启。主要数据问题还是在于 diff 协议传输,为了保证传输速度节约带宽, diff 协议就好比一个 patch,只传输变化的部分,所以需要服务器和本地都维护一份之前数据的快照,然后接收到新的 diff 数据之后,把老的快照打一个“补丁”,但服务器端会有一些运维的工作可能会在非交易时间重启导致订阅无效,比方说 position。所以最好还是在开盘前半小时内重启一下。
lookis 已回答的问题 2020年10月8日