I was recently working on getting the socket event monitor working in an
async focused Python library, aiozmq, and I had great difficulty getting it
working reliably. Hopefully this post might save someone some time if they
are trying something similar in the future.
tl;dr when using async
libzmq raises an error if you try anything other than an inproc://
transport. The socket event monitor emitter socket is created within within
libzmq.
Developers can specify the address string (the part after the inproc://
scheme) but not the transport.
Just in-case you misread the title, this post is about pyczmq not pyzmq.
This is just a FYI so that at least the list is aware. The last pyczmq
commit was about 7 months ago. Obviously this is not impacting many people.
pyczmq appears to be broken even though the Travis badge indicates a
passing
To close the monitor socket you need to call the monitor function again but
pass a NULL in the address field.
The call looks something like this...
rc = zmq_socket_monitor(sock_handle, c_addr, c_flags);
Set c_addr to NULL and c_flags to 0.
___
While search around for graph visualisers I encountered this novel data
visualiser and plugged in zeromq to see a github account with lots more
repo's than my user. Not sure about its usefulness and practicality but
it's neat all the same:
http://ghv.artzub.com/#repo=czmqclimit=100user=zeromq
I'm trying to understand the operation of the gossip capability in CZMQ. I
think I understand the way it distributes key/value pairs to peers that
connected to it and that it connected to. However, I don't understand how a
gossip node actually finds another node. The tests seem to hard code the
I use the following gist as part of a Saltstack setup to automate the
install and update of a development machine's zeromq stack. I use it
periodically to keep one or many machines up to date. I find Saltstack most
useful to quickly configure a new machine into a functional state.
I thought the
I'm playing around with a ZMTP implementation and I notice that other ZMTP
implementations seem to be setting the second last byte of the ZMTP
signature to \x01 (the byte before the last \x7F).
The various ZMTP specs (15, 23, 37) indicate that the 8 bytes between the
\xFF and \x7F should be \x00
I am playing around with ZMTP for 'reasons'. I have implemented my own ZMTP
client and I observe that when I connect to a ROUTER socket (which is a
simple CZMQ server) and progress through the greeting and NULL handshake,
the router is sending my client an identity property which I am not
On the ZRE specification page http://rfc.zeromq.org/spec:20 in the Node
Discovery and Presence section, should the following text:
When a ZRE node receives a beacon from a known node, with a *non-zero* port
number, it SHALL disconnect from this peer.
actually be:
When a ZRE node receives a
Hi list,
I've just spent some time trailing the interoperability of the C, Go and
Python ZRE implementations. I encountered some issues with the Python
version - which I later determined are due to it being a v1 implementation.
I did not initially realize that there were 20/ZRE and 36/ZRE
I think that the pyzmq master can meet your needs.
I added pyzmq implementations for each of the hintjens security examples
(iron house, woodhouse, etc) when I submitted the pyzmq.zauth into pyzmq.
This change also included the ability to read and write CZMQ compatible
zcert files. The tests
In CZMQ and PYZMQ you can use the socket event monitor interface to receive
socket event notification of things such as connect, disconnect, accepted,
etc.
I use the zmonitor from CZMQ and zmq.utils.monitor.recv_monitor_message
from pyzmq for receiving connection state information in applications
I posted this info to the list a while ago and it seems appropriate to
mention it again now. I'll need to confirm that I can release the code to
show you the internals but here is the basic outline...
I implemented a service discovery mechanism a while ago that might be
useful as a model for this
Pyczmq may only be usable with recent versions of libzmq and czmq. Further
investigation is necessary to confirm this but a version check at install
time would be useful.
If I am using Python and the FFI module I can obtain the zmq version,
within the setup.py installer by calling the zmq_version
I was wanting to use ZMQ's security features in my pyzmq applications. As
far as I can tell the security API in pyzmq is pretty low level (sockopts
and write your own ZAP handler). Hopefully I have not overlooked an
existing module that already does what I want.
Anyway, I am familiar with czmq
My zeromq-buildbot project just entered the zeromq organization. I needed
to make some minor updates after I transferred it, such as references to
the new project github location and also a reference to RFC22 for
contributing.
I made the updates but in doing so I realize that I am not properly
Thanks for the reply Pieter, that's the information I was after.
I have created a new team to maintain the buildbot project and have added
you to it.
Thanks,
Chris
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
Hi,
Pieter, I have no problem moving the zeromq-buildbot over to the zeromq
organization - though I have no idea how I would go about doing that. Any
pointers? I know the pyczmq project recently did that so I'll search back
through the archives to see if anything relevant was mentioned. It looks
So a quick Google search produced the instructions for transferring
zeromq-buildbot over to the zeromq organisation. I have followed that so it
should now be there waiting to be accepted I guess.
Regards,
Chris
___
zeromq-dev mailing list
Scratch that last post, zeromq-buildbot is now part of the zeromq
organisation. I thought that someone might need to accept it into the
oraganization, but no.
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
Without continuous build and test the pyczmq project can be broken until
someone trying to install and run the tests discovers the issue. This is
not ideal.
Pyczmq was out of sync with czmq today after an update was pushed to czmq.
This meant it was effectively broken were someone to download and
I have implemented a service discovery mechanism that might work for you.
This approach lets my system applications find and make available any
number of services. It is influenced by zbeacon and czmq in general. While
I serialise the UDP packet content using msgpack it could equally be simple
I have submitted a change into libzmq that allows sockets to set (and get)
the Type-of-Service fields within the IP header. These fields seem to be
called many names, Diffserv, Differential Services Code Point, DSCP, ECN,
etc.
Basically, this will allows ZMQ socket users to set a field within the
DSCP is often used to provide QoS within a network. [
http://en.wikipedia.org/wiki/Differentiated_services_code_point]
It looks like there are some references to DSCP settings in libzmq (openpgm
specifically) pgm sockets. I am interested in setting DSCP on TCP sockets
used on bandwidth limited
Many of my system's (CZMQ based) applications are long running, though some
applications within my system come and go. Many applications do various
timer based work when certain applications are present and should not be
doing these timer actions when certain applications are not present.
I am not using a ROUTER socket. In my silly example I am using two
ZMQ_STREAM sockets connected together as client and server. I understand I
can use a ROUTER in raw mode when considering the a server scenario but in
this instance I am more interested in the client scenario.
My simple example
A while back I saw mention of someone wanting access to the underlying
socket events. I understand that ZMQ does not attempt to promote accessing
these events, in preference for building reliability measure such as
heartbeating into the system architecture. However, I find that I need
access to
Hi list,
I am developing applications using the czmq zmq binding. My application
uses multiple timers to perform various time dependant actions. I am
encountering issues when cancelling timers.
My application is encapsulated within a struct that contains state,
sockets, etc which I think is a
After more investigation it appears that the problem I am seeing is
associated with the thread code sitting blocked in recv until the main
thread performs the context shutdown. When the thread begins shutting down
it goes through the termination sequence of events, one of which is to set
the
I am learning zeromq and have built a small-ish application using czmq that
generally works well. However, when I shut it down using Ctrl+C, it prints
Context was terminated to standard out. I presume this indicates a
non-clean exit and I would like to fix this.
I have read the guide section
Hi,
I am trying to use a wildcard port in an effort to let the OS assign an
ephemeral port. I then try to ascertain the actual endpoint by using the
LAST_ENDPOINT socket option so that I can inform other apps of the real
endpoint.
This is along the lines of the suggestion here:
32 matches
Mail list logo