I believe that the 'red lines' are:

import eventlet
eventlet.monkey_patch()


----- Original Message -----
> From: "Gordon Sim" <[email protected]>
> To: [email protected]
> Sent: Tuesday, November 6, 2012 11:53:01 AM
> Subject: Re: QPID and eventlet.monkey_patch()
> 
> On 11/06/2012 03:32 PM, Gary Kotton wrote:
> > Hi,
> > Hi,
> > I'm Gary and working on the OpenStack project. I have run into a
> > problem
> > and maybe you can help or can suggest someone who can.
> > The communication between the different modules is done with QPID.
> > We
> > are using python. If the service that I am running starts before
> > qpidd
> > then it hangs and does not recover. Even when the qpidd daemon
> > starts it
> > does not recover.
> >
> > The reason is that we do eventlet.monkey_patch(). The script below
> > easily shows a reproduction of the problem. If the lines below in
> > red
> > are commented out the the script recovers when qpidd starts.
> 
> For the benefit of those of us using mail readers that display plain
> text (and thus lose your colouring), could you point out which lines
> these are? Thanks!
> 
> > If not then
> > it hangs. Please note that if the sockets are not patched then this
> > works. We need all to be patched.
> >
> > Any clues or direction will be greatly appreciated.
> > Thanks
> > Gary
> >
> > #!/usr/bin/env python
> >
> > import eventlet
> > eventlet.monkey_patch()
> >
> > import os
> > import time
> >
> > from qpid.messaging import endpoints
> >
> > print "QPID Test!"
> >
> > session = None
> > consumers = {}
> > consumer_thread = None
> >
> > default_params = dict(hostname='localhost',
> >                        port=5672,
> >                        username='',
> >                        password='')
> >
> > params = {}
> > for key in default_params.keys():
> >      params.setdefault(key, default_params[key])
> >
> > broker = params['hostname'] + ":" + str(params['port'])
> > # Create the connection - this does not open the connection
> > print "======> broker %s" % broker
> > connection = endpoints.Connection(broker)
> >
> > # Check if flags are set and if so set them for the connection
> > # before we call open
> > connection.username = params['username']
> > connection.password = params['password']
> > connection.sasl_mechanisms = ''
> > connection.reconnect = True
> > connection.heartbeat = 60
> > connection.protocol = 'tcp'
> > connection.tcp_nodelay = True
> >
> > while True:
> >      try:
> >          connection.open()
> >      except endpoints.exceptions.ConnectionError, e:
> >          print 'Unable to connect to AMQP server: %s' % e
> >          time.sleep(1)
> >      else:
> >          break
> >
> > print 'Connected to AMQP server on %s' % broker
> >
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to