Hi, I run Unicorn which is a Rack http server using N forked worker processes. 
I need the following:

- When a worker processes a HTTP request it must notify some data to other 
independent Ruby process XXX (different than Unicorn).

- This communication must be non-blocking, this is, the Unicorn worker process 
sends the notification and doesn't wait for response from the process XXX, so 
the Unicorn worker can, at the moment, generate the HTTP response and send 
back to the client, getting free to handle new HTTP requests.

- The ruby process XXX should use some kind of queue system to store 
notifications and handle them. In fact, it should take them periodically and 
send via TCP (but not HTTP) to other server.


Which is the best approach to design such communication? perhaps using 
something as EventMachine for the XXX process and Unix/TCP socket 
communication between Unicorn processes and XXX process? any other alternative 
or suggestion?

Thanks a lot.

-- 
IƱaki Baz Castillo <ibc / aliax.net>