msgpack-rpc/msgpack-rpc-python

How to reinitialize msgpckrpc (python)? (to create a new client)

yannbouteiller opened this issue · 0 comments

Hello,

I am having trouble with Microsoft AirSim, which uses msgpckrpc as its communication backend. AirSim does this in a python object:

self.client = msgpackrpc.Client(msgpackrpc.Address(ip, port), timeout = timeout_value, pack_encoding = 'utf-8', unpack_encoding = 'utf-8')

Let's say at some point AirSim freezes and I get a TimeoutError from msgpckrpc (which I do, see microsoft/AirSim-NeurIPS2019-Drone-Racing#104 ). So I want to instantiate a new version of this python object (with another msgpackrpc.Address(ip, port) ).

However, doing this apparently simple thing is actually a nightmare and fails because msgpackrpc/tornado don't get properly reinitialized in the process. How can I properly reinitialize msgpckrpc please ?