vn.py量化社区
By Traders, For Traders.
Member
加入于:
帖子: 36
声望: 1

最近更新了vnpy 2.0.9,发现1月6日有个进程在11点30分以后就收不到行情了,日志有如下报错。我另一台机器用的vnpy 2.0.6,没有这个问题。
我用的是单机器的rpc,启动多个进程。看了下似乎是rpc接收数据时,pickle解析失败,麻烦作者能看看是什么情况吗?谢谢!
topic, data = self.__socket_sub.recv_pyobj(flags=NOBLOCK):是否考虑在这句代码里加个try,跳过些异常数据包?

Exception in thread Thread-4:
Traceback (most recent call last):
File "/home/vp/anaconda3/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/home/vp/anaconda3/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/home/vp/anaconda3/lib/python3.7/site-packages/vnpy/rpc/init.py", line 257, in run
topic, data = self.__socket_sub.recv_pyobj(flags=NOBLOCK)
File "/home/vp/anaconda3/lib/python3.7/site-packages/zmq/sugar/socket.py", line 632, in recv_pyobj
return self._deserialize(msg, pickle.loads)
File "/home/vp/anaconda3/lib/python3.7/site-packages/zmq/sugar/socket.py", line 499, in _deserialize
return load(recvd)
_pickle.UnpicklingError: invalid load key, '\x00'.

Administrator
avatar
加入于:
帖子: 4449
声望: 255

可以尝试加个try...catch...,这里我感觉应该是网络传输的问题,导致数据丢包不完整了

Member
加入于:
帖子: 36
声望: 1

好的,谢谢,我先改下试试,看看后面会不会还出现这问题。

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号