← Back to team overview

txamqp-user team mailing list archive

Re: txamqp delivering command responses out of order

 

Hi,

could you post a snippet so we can have a look at it?

In any case, I wonder what you mean by "forcing all the command
functions to be synchronous". Do you mean calling yield for every
call? If that's the case, yes, you really have to. I/O will still be
asynchronous in txAMQP, but the AMQP standard forces clients to keep
the order in which commands and messages are sent and received. In
other words, you have to wait until a function has completed before
you call another function.

Hope that helped.

Cheers.

2013/3/6 David Serafini <dbs@xxxxxxxxxxx>:
> I have some code using txamqp that uses @inlineCallbacks for
> asynchronous operation.
>
> Once in a while an exception will be raised under very heavy load
> because a command function gets the wrong method type in the response:
> e.g. a basic_consume() will raise because it gets a declare-ok that
> should have been delivered to an exchange_declare() that is
> simultaneously waiting for a response.  And the exchange_declare()
> gets the consume-ok and also raises an exception.
>
> Any ideas for how I can deal with this, besides forcing all the
> command functions to be synchronous?
>
> For the record, I'm using Dan Simeon's txamqp_helpers module and
> running with twistd,
> but I don't think that should matter.
>
> thanks,
> <dbs>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~txamqp-user
> Post to     : txamqp-user@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~txamqp-user
> More help   : https://help.launchpad.net/ListHelp


References