KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am trying out RabbitMQ with this python binding. One thing I noticed is that if I kill a consumer uncleanly (emulating a crashed program), the server will think that this consumer is still there for a long time. The result of this is that every other message will be ignored. For example if you kill a consumer 1 time and reconnect, then 1/2 messages will be ignored. If you kill another consumer, then 2/3 messages will be ignored. If you kill a 3rd, then 3/4 messages will be ignored and so on. I've tried turning on acknowledgments, but it doesn't seem to be helping. The only solution I have found is to manually stop the server and reset it. Is there a better way? How to recreate this scenario Run rabbitmq. Unarchive this library . Download the consumer and publisher here . Run amqp_consumer.py twice. Run amqp_publisher.py, feeding in some data and observe that it works as expected. Messages are received round robin style. Kill one of the consumer processes with kill -9 or task manager. Now when you publish a message, 50% of the messages will be lost.
Tags (comma-separated)
Save Edits
Cancel