[rabbitmq-discuss] Keeping track of exchanges -- Any Advice

MarcusR marcus_rubeus at hotmail.com
Tue Jan 17 20:27:35 GMT 2012


I have a  setup where I need to use a LOT of unique exchanges /
queues.

To explain. Essentially, think that every "user" has their own
exchange and then 3 queues on that exchange. These users may be active
for a few minutes to days. The time they exist is unknown (depends on
the user). There are hundreds of thousands of users at a time.
Periodically, another user may send a message to a user. However, that
user may or may not be active (have an exchange / queue associated
with it).

The x-expires feature is great for the queue. If a user is not active
in 15 minutes, then all their queues can be deleted. If I set
auto_delete on exchanges to be true, it is my understanding that that
exchanges will also be deleted once the queues are. Thats great too.

The problem is when user A sends a message to user B and user B has
had their exchange deleted. This will create an error. Ideally, what
would happen is rabbitmq would just ignore the message. If the user is
not active, then it does not matter if the message just goes to /dev/
null.

Is there a way around this or a way to get the desired behavior? If
not, what strategies do people use to determine in real time what
exchanges are active or not or what exchanges need to be deleted or
not?


More information about the rabbitmq-discuss mailing list