If you provide a host name to connect
, ZeroMQ uses synchronous DNS resolution via a call to getaddrinfo
, which is why you see the connect
call blocking.
If you really need to connect
in controllable way, I suggest you do DNS resolve on your own, using one of the asynchronous DNS resolvers already available for Python (check this example based on pyuc/pycares).
Also see my reply to similar question.