I am using RabbitMQ to communicate long running process status changes to Web Server. The Application Server will publish events to a queue for and Web Server will consume those events.
The queues are temporary(x-expires: 300000, auto-delete: true) and are initiated when the Web Application starts for the first time.
The problem I am facing is that the queue dies out periodically. I figured out one issue was related to RequestedHeartbeat setting. Since we had some long running task on web server as well, the queue was dying periodically. After i increased its value the long running task on web works fine.
However, the queue still dies periodically. The Rabbit MQ has an ever increasing log file with following errors. Some of these errors are from other environment dev/staging/uat but same errors
2020-04-30 01:16:15.218 [error] <0.3578.286> Channel error on connection <0.30037.285> (10.10.122.111:25734 -> 10.10.234.111:5672, vhost: '/', user: 'someuser'),
channel 5: operation basic.consume caused a channel exception not_found: no queue 'QueueNo132321011360' in vhost '/'
Also, 1) How do I detect the temporary queue has died?
2) What is the best mechanism to renew temporary queue from Web Server?