Сообщения принимаются и пересылаются; Ответы принимаются и доставляются в RabbitMQ.
Внутри у меня есть несколько очередей для буферизации.
Теперь я хочу взять на себя больше контроля над процессом завершения работы моего моста.
После получения сигнала завершения работы служба должна:
- Прекратить подписку на события от RabbitMQ
- Обрабатывать все события в моих очередях
- завершение работы
Проблема Kestrel
Похоже, что Kestrel прослушивает токен IHostApplicationLifetime.ApplicationStopping, и когда он сработает, он перестанет принимать новые запросы.
Мне нужно переопределить это поведение и позволить ему продолжать обрабатывать события. , пока я очищаю свои очереди.
Мне не удалось найти способ изменить поведение Kestrel по умолчанию.
Я надеюсь найти некоторые подсказки, приемы или ссылки на документацию.
Действия
Я просмотрел документацию и интеллект в поисках способов обойти поведение Kestrel по умолчанию.
Я не могу найти никаких опций или настроек, чтобы изменить это.
Мне нужен способ переопределить или внедрить мой собственный CancellationToken в Kestrel, поэтому я может контролировать процесс выключения.
Подробнее здесь: https://stackoverflow.com/questions/791 ... wn-process