Я использую RabbitMQ для передачи данных об изменениях состояния процесса на веб-сервере. Сервер приложений будет публиковать sh события в очереди, а веб-сервер будет использовать эти события.
Очереди являются временными (x-expires: 300000, auto-delete: true) и инициируются, когда Интернет Приложение запускается в первый раз.
Проблема, с которой я сталкиваюсь, заключается в том, что очередь периодически исчезает. Я понял, что одна проблема связана с настройкой RequestedHeartbeat. Так как у нас на веб-сервере было какое-то длительное задание, очередь периодически умирала. После того, как я увеличил его значение, долго работающая задача в сети работает нормально.
Однако очередь по-прежнему периодически умирает. Rabbit MQ имеет постоянно увеличивающийся файл журнала со следующими ошибками. Некоторые из этих ошибок из другой среды dev / staging / uat, но такие же ошибки
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 '/'
Кроме того, 1) Как определить, что временная очередь умерла?
2) Каков наилучший механизм обновления временной очереди с веб-сервера?