[rabbitmq-discuss] queue subscription + sending to some exchange
Petar Shomov
pshomov at gmail.com
Mon Jun 20 22:41:07 BST 2011
Hi guys,
I have a situation which I do not completely understand and I was
hoping someone more acquainted with AMQP and RabbitMQ might point me
in the right direction.
I have a console app that needs to subscribe to a message queue where
the process of handling a message is rather lengthy. During this
lengthy process I need to send out messages to some exchange which
represent information about the progress of the operation.
The subscription to the queue has to be asynchronous too, since I am
doing something else on the main thread. So I have running in a thread
this code (C#):
var job = new Thread(() =>
{
var consumer = new
QueueingBasicConsumer(channel);
channel.BasicConsume(queueName, false, consumer);
while (true)
{
BasicDeliverEventArgs e = null;
e =
(BasicDeliverEventArgs) consumer.Queue.Dequeue();
queueHandlers[queueName][e.Exchange](e);
channel.BasicAck(e.DeliveryTag, false);
}
}
Unfortunately when I try to send messages within the message handler
(I am opening a different channel on the same connection, tried even
opening a different connection with no better luck) I am getting these
kind of exceptions, usually when attempting to send the *second*
message:
- $exception {"The AMQP operation was interrupted: AMQP close-reason,
initiated by Library, code=504, text=\"Frame received for invalid
channel 2\", classId=0, methodId=0,
cause=RabbitMQ.Client.Impl.ChannelErrorException: Frame received for
invalid channel 2\r\n at ...
Thoughts, ideas, anything?
---------------------------------
Regards,
Petar
More information about the rabbitmq-discuss
mailing list