AMQP and Twisted

In one of my pet projects I’ve been using Twisted and txamqp. I use Twisted’s twistd to launch the service but unfortunately txamqp doesn’t come with any examples of how to use it with twistd. So I wrote a factory and protocol which makes it trivial to use txamqp with twistd. I haven’t tested it extensively but it appears to survive losing the connection to the AMQP server and reconnecting. I’m far from a Twisted expert though so please let me know if this isn’t the way it supposed to be done.

You can find the code in my Git repository.

9 thoughts on “AMQP and Twisted

  1. Simon de Haan

    Hi,

    Thanks for the example code. There’s a small bug in your code which causes it to always default to the ‘/’ vhost even if specified otherwise.

    Line 169 should read: self.vhost = vhost or '/' instead of '/' or vhost.

    cheers! smn

    Reply
  2. Tim Hughes

    Thanks Dan,

    I was working on writing something similar and when trying to work it all out I discovered this. It has helped with my understanding and is much more complete than mine so I am adapting to to suit my needs. While doing this is noticed a little bug where you are always using the method args instead of your defaults even if there is nothing passed into the __init__ method .

    I think line 180 should read
    reactor.connectTCP(self.host, self.port, self.self)

    Reply
  3. Pingback: txamqp-twistd update | Dan Siemon

Leave a Reply

Your email address will not be published. Required fields are marked *