Thanks. Malamute looks really cool. Nice doggy. And I don't have to
keep trying to reinvent the wheel ;) I also like the idea of persistent
storage. Could be useful for storing logfiles and data coming from a
datalogger attached to the system.
So, I've read the whitepaper and it seems like direct messaging is what
I want to do. This is how I think I should proceed. Note that all my
"servers/workers" process only one request and respond with one reply.
Either success and data, or error and error message, then terminate
normally.
1) Client spawns a worker and passes the worker its identity as a parameter
2) Client sends a direct message to the broker using its own identity
addressed to the worker identity
3) When worker spins up it checks its mailbox and receives the message
(request)
4) Worker does its work, sends a message (response) addressed to the
client and terminates
5) Client receives the message (response) and does what it has to do
Q1) Should I be using something like uuids so that mailboxes have unique
names?
Q2) Unlike req-rep which blocks will I have to keep polling the broker
to see if there is a message?
Q3) If malamute dies can I request that when it starts up again say
using a watchdog like monit that it starts fresh. This is because the
INT and TERM signals are processed by all my clients and workers as
well. So if one process dies. They all die.
<-Douglas Petican->
On 2016-06-10 8:32 AM, Kevin Sapper wrote:
Sorry messed up the link: https://github.com/zeromq/malamute
2016-06-10 14:32 GMT+02:00 Kevin Sapper <[email protected]
<mailto:[email protected]>>:
Hi Douglas,
have a look a malamute (https://github.com/zeromq/malamulte) which
should work for your use case.
//Kevin
2016-06-08 16:07 GMT+02:00 Douglas Petican <[email protected]
<mailto:[email protected]>>:
I want to enforce a one to one relationship between client and
dynamically spawned worker. I asked before on the list and
was told to use a router router broker. However, I can't get
my code to work in anyway with a router on both the frontend
and backend of the broker. Nothing happens. It only works
(almost) with a dealer backend.
The first client connects okay and the worker is spawned
dynamically. When the second client connects a new worker is
spawned and the second client and worker talk to each other
exclusively, but the first client talks to both workers which
is not what I want.
My broker code is here: http://pastebin.com/eKVQ7VwR
The client/worker code is here: http://pastebin.com/5tU9BZRn
--
<-Douglas Petican->
_______________________________________________
zeromq-dev mailing list
[email protected] <mailto:[email protected]>
http://lists.zeromq.org/mailman/listinfo/zeromq-dev
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev