Как механизм перезапуска Hangfire ведет себя во время развертывания? - PullRequest
0 голосов
/ 31 января 2020

Объявленная функция Hangfire заключается в том, что запланированные задачи сохраняются за пределами границ процесса.

На практике я заметил, что всякий раз, когда процесс приложения с поддержкой Hangfire завершается (по любой причине), Hangfire каким-то механизмом немедленно перезапускает его.

Это можно легко продемонстрировать с помощью Task Monitor > MyApp.exe > End Task: сразу же будет запущен новый MyApp.exe.

Я предполагал, что это разумная стратегия для фонового монитора и исполнителя, предназначенного для интеграции. в приложение, а не запускаться как отдельная служба.

Но мне интересно узнать, как это повлияет на развертывание.

  1. Как Hangfire реагирует на исполняемый файл приложения, переполненный новая версия ?
  2. Для службы Windows, как Hangfire реагирует на остановку / запуск службы?
  3. Для приложения IIS, размещенного Asp. Net Основное приложение, как Hangfire отвечает на остановку / запуск site / app-pool?

Мне также интересны ситуации, когда можно было бы на законном основании добиться полного завершения процесса (включая прекращение обработки Hangfire всех запланированных задач) - возможно, в ответ на производственный инцидент или во время тестирования dev или test.

...