最近更新了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'.