Where does the channel name persist? (Surely not on the machine that turned off....)
Be very clear on which problem you want to solve:
- It's impossible to "fix" senders so they never send to a channel that doesn't exist. (Channels can disappear at any time, so a race is inevitable.)
- It's possible to "expire" invalid messages so they don't impede delivery of valid messages. Tune the expiry option.
- It's possible to "expire" a channel out of a group ... but you'll want that duration to be very long. Tune the group_expiry option.
With RabbitMQ, messages destined for a disconnected host disappear immediately; and channels disappear from groups immediately (so you should set group_expiry to an enormous number).
Enjoy life,
Adam