I've been working on a plugin for the RabbitMQ AMQP broker that relays messages 
from the broker to HTTP REST APIs. I call it the "webhooks" plugin.

I've been testing against CouchDB 1.0.1 and I'm able to bulk load/update/delete 
documents as fast as the server will take them (which is pretty fast ;). I plan 
to have responses sent back to AMQP reply queues, which means one could have 
fully-asynchronous access to CouchDB via AMQP consumers/producers. Right now 
I'm using it to asynchronously update my CouchDB server (comet will come into 
play here) but I suspect I'll add the ability to see the server response by 
implementing a "ReplyTo" feature.

It's written in Erlang and uses the lhttpc module for HTTP functions. It runs 
directly inside the broker as a plugin. If anyone's interested in helping me 
with this, I'd love to get some feedback/patches that make the CouchDB access 
easier and more robust. I've also got some so more work to do to make it more 
configurable.

Like the RabbitMQ source and other plugins (from which I drew significant 
inspiration), this alpha plugin is MPL-licensed and available on Github:

http://github.com/jbrisbin/rabbitmq-webhooks

Normal caveats apply: this is still experimental, mostly untested code. It will 
likely crash your broker if a bad error happens (URL is not responsive, bad 
reply codes, etc...). I'm still working on making it more bullet-proof.

Thanks!

J. Brisbin
http://jbrisbin.com/






Reply via email to