[Time] Name | Message |
[08:40] Vladimir
|
I use REQ/REP socket. When server not runing and client sent same messages to server, then if server is runing it receive all messages! How to clear message queue on client?.
|
[10:33] pieterh
|
hi guys
|
[10:45] pieterh
|
I was wondering about translations of the guide
|
[10:45] pieterh
|
i.e. into other (human) languages
|
[13:39] dermoth
|
"other (human) languages" - I Like the clarification, but why? Is zermoq no good for aliens? :)
|
[13:40] PerfDave
|
I've never seen an extraterrestrial writing a good PUB/SUB framework with ZeroMQ
|
[13:41] dermoth
|
Probably because thye didn'T have the proper guide translation in the first place!
|
[13:41] dermoth
|
BTW the guide is awesome... I've see it only recently, is it a new addition?
|
[15:03] dv
|
hello
|
[15:04] keffo
|
bonjour!
|
[15:05] dv
|
is it possible to put an amqp layer on top of zeromq? we have an application that was designed with AMQP in mind, but we want to try to use zeromq as amqp server
|
[15:05] dv
|
since the only rabbitmq version we can use here does not scale very well
|
[15:06] dv
|
and rewriting the application to use zeromq directly is unfortunately too time consuming now
|
[15:09] nisbus
|
what kind of prefixes should one use to enable filtering of message subscriptions when sending json with zmq?
|
[15:25] CIA-20
|
zeromq2: 03Martin Sustrik 07master * r7a685b0 10/ (10 files):
|
[15:25] CIA-20
|
zeromq2: Clean-up of session termination process
|
[15:25] CIA-20
|
zeromq2: Specifically, shutdown of child objects is initiated *before* termination
|
[15:25] CIA-20
|
zeromq2: handshake with socket object.
|
[15:25] CIA-20
|
zeromq2: Signed-off-by: Martin Sustrik <sustrik@250bpm.com> - http://bit.ly/9EBD7t
|
[15:31] BocaJim
|
hello all, anyone have time for a couple scalability questions about zeromq?
|
[15:38] keffo
|
dv_, Probably
|
[15:39] keffo
|
nisbus, Doesnt matter, you can use whatever you like..
|
[15:39] keffo
|
BocaJim, Shoot
|
[15:43] dv
|
keffo: does something exist for this already?
|
[15:44] dv
|
do you know about any such project?
|
[15:50] keffo
|
dv_, Not really no
|
[15:50] CIA-20
|
zeromq2: 03Martin Lucina 07master * rf90c8d9 10/ (4 files): (log message trimmed)
|
[15:50] CIA-20
|
zeromq2: Scalability improvements for large amounts of connections
|
[15:50] CIA-20
|
zeromq2: Add signaler_sndbuf_size option to config.hpp which allows the user to
|
[15:50] CIA-20
|
zeromq2: increase the size of the send buffer used by the signalling socketpair.
|
[15:50] CIA-20
|
zeromq2: Implement random backoff for reconnection attempts using a primitive
|
[15:51] CIA-20
|
zeromq2: pseudo-random generation to prevent reconnection storms.
|
[15:51] CIA-20
|
zeromq2: Add wait_before_connect option to config.hpp to allow the user to enable
|
[15:51] keffo
|
but most people do custom stuff with zmq anyway, hard to believe nobody has tried :)
|
[15:53] dv
|
hey hold on
|
[15:53] dv
|
"ZMQ-171 Add AMQP support to 0MQ"
|
[15:54] dv
|
amqp support was introduced in version 0.5 ?
|
[15:54] mikko
|
mato: did you commit the rpath fix?
|
[15:59] mato
|
mikko: not yet, getting there, really busy
|
[15:59] mikko
|
sure
|
[15:59] mikko
|
no hurry
|
[15:59] mikko
|
just noticed a failed build
|
[15:59] mikko
|
it also reports the amount of failed tests incorrectly
|
[17:25] zeromqnoob
|
I'm getting an error when installing the python extension: "gcc: zmq/core/constants.c: No such file or directory" Any ideas why?
|
[17:26] zeromqnoob
|
only zmq/core/constants.pyx exists
|
[17:33] zeromqnoob
|
hi jrossi
|
[17:34] zeromqnoob
|
I'm getting an error when installing the python extension: "gcc: zmq/core/constants.c: No such file or directory" Any ideas why?
|
[17:56] pieterh
|
hi dermoth, still around?
|
[17:56] dermoth
|
yes
|
[17:56] pieterh
|
i was offline for a while
|
[17:56] pieterh
|
i was thinking it'd be fun to have the guide in spanish, russian, french, etc...
|
[17:57] pieterh
|
well, in fact was drinking with a russian, a francophone, and a spanish guy on wednesday...
|
[17:57] dermoth
|
I would love to contribute french but I don't really have time... however I can possibly proofread it as it's being translated.
|
[17:57] dermoth
|
lol
|
[17:57] pieterh
|
t'es francophone?
|
[17:58] dermoth
|
oui
|
[17:58] pieterh
|
bon, peut-etre un extrait du premier chapitre
|
[17:58] pieterh
|
:-)
|
[17:59] pieterh
|
anyhow, no point until the text is stable
|
[18:01] dermoth
|
I have other commitments that i'd like to fulfill... but proofreading I can just print it out and take it on the bus...
|
[18:02] pieterh
|
so you read it recently?
|
[18:02] pieterh
|
did you finish chapter 3?
|
[18:03] dermoth
|
I've sort of went trough it.. I didn't read everything but enough to get to the bottom with the feeling of having understood that complex XREQ/XREP stuff ;)
|
[18:03] pieterh
|
did you find the socket aliases (router/dealer/mama/papa) helpful or confusing?
|
[18:04] dermoth
|
helpful
|
[18:05] dermoth
|
so I understand you're the author? Nice work!
|
[18:05] pieterh
|
yeah, I'm a writer in my other life
|
[18:05] dermoth
|
lol
|
[18:06] pieterh
|
glad you like it, it's fun to write in fact
|
[18:06] dermoth
|
I mean getting this stuff right is that hard part andyou've apparently figured all out... I did dome testing with REP/REW and a middle device and abandonned... the PUSH/PULL model suits better out need rigth now anyway
|
[18:07] pieterh
|
push/pull is far easier if you're sending stuff one-way
|
[18:07] pieterh
|
all the complexity with req/rep is about creating and using return envelopes
|
[18:07] dermoth
|
web workeds sending data for logging... I already manage the web server I don't want to manage a pool or cpu-intensive workers too, so I preffed keeping the work in the webserver and handling just the results
|
[18:07] pieterh
|
what i like is that the different patterns all find their place, in different scenarios
|
[18:08] pieterh
|
have you looked at zed shaw's work with mongrel2?
|
[18:09] dermoth
|
actually besides the concepts I didn't get right, my issue is that it's much faster to use persistent socket... so if a previous request timed out on the worked how can I recover the socket?
|
[18:10] pieterh
|
persistent sockets, you mean not closing and opening?
|
[18:10] pieterh
|
yes, you want to keep sockets open
|
[18:10] pieterh
|
if workers time out, you mark the worker as 'out of action' for a certain time (2-5 seconds say)
|
[18:11] pieterh
|
or you use the LRU design where workers explicitly tell the queue when they are read
|
[18:11] pieterh
|
*ready
|
[18:11] dermoth
|
i'm talking about the web workers... with apache prefork mpm
|
[18:11] pieterh
|
so if a worker does not respond within X msecs you just send the request to the next worker
|
[18:11] dermoth
|
so that would be the job of the device in the middle
|
[18:11] pieterh
|
yes
|
[18:12] pieterh
|
device in the middle doing reliable request/reply...
|
[18:12] pieterh
|
there was a comment on email about the way SIP does it
|
[18:12] pieterh
|
that's the model I'm going to implement in the next example for Ch4
|
[18:13] pieterh
|
http://lists.zeromq.org/pipermail/zeromq-dev/2010-October/006799.html
|
[18:13] pieterh
|
it's the right model for 99% of cases, which are about recovering from worker failure
|
[18:14] dermoth
|
ok... makes sense... It would be much more work though, maybe in a few years ;)
|
[18:14] pieterh
|
i'll provide the usual 100-line example in C... :-)
|
[18:14] pieterh
|
it's pretty simple in fact, the main gotcha is a bug in zmq_poll we need to work around (or fix)
|
[18:15] dermoth
|
whihc bug?
|
[18:15] pieterh
|
well, design flaw, perhaps
|
[18:15] pieterh
|
it will return randomly when there is no activity
|
[18:15] pieterh
|
so to do a proper timeout you need to manually calculate times
|
[18:15] dermoth
|
yes I worked arount it in some apps
|
[18:15] dermoth
|
I can sent you c,python and php code
|
[18:16] pieterh
|
it's worth posting on the wiki somewhere
|
[18:16] dermoth
|
would pastebins work? you cn grab it and put it wherever you want
|
[18:16] pieterh
|
nah, just create a page on www.zeromq.org...
|
[18:16] pieterh
|
i'm thinking the 'topics' area would work
|
[18:17] pieterh
|
that lets other people find it, and refer to it
|
[18:17] pieterh
|
it's a wiki, easy to edit, you will need to register first
|
[18:17] dermoth
|
well I wasn't think on posting full example, just the code portion that deal with zmq_poll
|
[18:17] pieterh
|
indeed
|
[18:18] pieterh
|
you can even write it in French and I'll make an English translation :-)
|
[18:19] dermoth
|
actually I can sent the full clients... at least for the pythin and c examples with are nagios notification handlers
|
[18:19] pieterh
|
there is a wiki area for example apps as well
|
[18:19] pieterh
|
sharing is good but you need to be clear about what you're giving people
|
[18:19] dermoth
|
originally I wanted to use PUSH/PULL, but there was no way to flush the queue (t believe the begavior changed now) so I used xreq-xrep to implement a timeout
|
[18:20] pieterh
|
there is still no way to flush the queue
|
[18:20] dermoth
|
http://zeromq.pastebin.com/rj4BazyB
|
[18:21] pieterh
|
dermoth, the code looks nice, but without some explanatory text it's just code... :-)
|
[18:21] dermoth
|
http://zeromq.pastebin.com/Bu2AZmDN
|
[18:22] pieterh
|
:-)
|
[18:23] pieterh
|
bon, if you write 200 words of explanation I'll create a wiki page with these examples
|
[18:23] dermoth
|
err tte python code did not have poll
|
[18:23] dermoth
|
but c has a standaling my_zmqpoll that works arounf the timeout
|
[18:23] dermoth
|
standalone
|
[18:24] pieterh
|
nice
|
[18:24] pieterh
|
i'm going to steal that fragment and ignore the rest
|
[18:24] pieterh
|
uhm, what's the license on the code?
|
[18:27] dermoth
|
I knew someone was going to ask....
|
[18:27] dermoth
|
http://zeromq.pastebin.com/hiP5bas3
|
[18:27] dermoth
|
enjoy ;)
|
[18:28] pieterh
|
nice, thanks
|
[18:30] pieterh
|
http://www.zeromq.org/topics:zmq-poll-workaround
|
[18:34] pieterh
|
And : http://www.zeromq.org/code:nagios-clients-in-c-and-python
|
[18:34] pieterh
|
feel free to edit either of these pages... and thanks for the examples :-)
|
[19:45] CIA-20
|
zeromq2: 03Martin Sustrik 07master * rdaf5d32 10/ (3 files):
|
[19:45] CIA-20
|
zeromq2: More cleanup of session termination process.
|
[19:45] CIA-20
|
zeromq2: Fix in termination of session attached to a REP socket.
|
[19:45] CIA-20
|
zeromq2: Several fixes of session termination in case of disconnection.
|
[19:45] CIA-20
|
zeromq2: Signed-off-by: Martin Sustrik <sustrik@250bpm.com> - http://bit.ly/dqDJ4x
|
[20:07] CIA-20
|
zeromq2: 03Martin Lucina 07master * r214b560 10/ src/zmq_connecter.cpp :
|
[20:07] CIA-20
|
zeromq2: Fix missing platform.hpp in zmq_connecter.cpp
|
[20:07] CIA-20
|
zeromq2: Missed testing on Win32
|
[20:07] CIA-20
|
zeromq2: Signed-off-by: Martin Lucina <mato@kotelna.sk> - http://bit.ly/acxy7b
|