Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-564

Messenger.work doesn't receive messages

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • proton-0.6, proton-0.7
    • None
    • None
    • None
    • Fedora 19, Python 2.7.5

    Description

      Sink:

      from proton import Messenger, Message
      
      msgr = Messenger()
      msgr.start()
      
      try:
          msgr.subscribe("amqp://~0.0.0.0:50000")
      
          msg = Message()
      
          while True:
              print "Tick; incoming={}".format(msgr.incoming)
      
              msgr.work()
              # msgr.recv() XXX
       
              for i in range(msgr.incoming):
                  msgr.get(msg)
                  print(msg)
      finally:
          msgr.stop()
      

      Source:

      from proton import Messenger, Message
      
      msgr = Messenger()
      msgr.start()
      
      try:
          msg = Message()
          msg.address = "amqp://0.0.0.0:50000/test"
      
          for i in range(10):
              print "Tick {}".format(i)
      
              msg.body = "Message {}".format(i)
      
              msgr.put(msg)
              msgr.send()
      finally:
          msgr.stop()
      

      On 0.6, it blocks on one of the work calls with incoming always 0. On 0.7, it keeps looping through work calls with incoming always 0. The source sends nothing.

      Note the XXX bit in the sink. If you uncomment that. The sink consumes the messages.

      The python API documentation says the following:

      Sends or receives any outstanding messages queued for a Messenger. This will block for the indicated timeout. This method may also do I/O work other than sending and receiving messages. For example, closing connections after messenger.stop() has been called.
      

      Based on that, I expect that I should not need to call recv.

      Attachments

        Activity

          People

            Unassigned Unassigned
            jross Justin Ross
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: