2015-08-23 3 views
0

В моем приложении ASP.NET MVC я буду запускать фоновые задачи, иногда длительностью ~ 10 минут. Я прочитал эту тему и вижу, что домен приложения иногда перезапускается, удаляя мои потоки.Как Hangfire обрабатывает домен приложения перезагружается?

Поэтому я искал некоторые решения. Основным решением, которое я нашел, является Hangfire. Я понимаю, что он перезапускает задания, когда они терпят неудачу и т. Д., Однако они как-то «обходят» домен приложения, или просто перезапускают задания в этом случае?

ответ

5

Основным решением проблемы является Hangfire. Я понимаю, что он перезапускает задания, когда они терпят неудачу и т. Д., Однако они «обходят» приложение рестарт домена как-то или просто перезапускают задания в этом случае?

Нет, они не обходят перезапуск домена приложения - ничто не может его обойти. Цитата из documentation:

замедленное воспламенение сохраняет фоновые задания и другую информацию, относящуюся к обработке внутри постоянного хранения. Стойкость помогает фоновые задания для выживания при перезапуске приложения, перезагрузка сервера, и т. Д. Это основное различие между выполнением фоновых заданий с использованием пула потоков заголовка CLR и Hangfire. Поддерживаются различные резервные копии хранилища: .

Поэтому, когда вы ставите в очередь новую задачу, первое, что нужно сохранить в каком-то постоянном хранилище на сервере, не сохраняя его в памяти. Таким образом, если домен приложения умирает, задача может быть прочитана и возобновлена ​​из этого постоянного хранилища позже.

+0

Я вижу. Так ли я прав предположить, что когда домен приложения перезагрузится, задание будет просто запускаться снова (с самого начала) ?. – JensOlsen112

+0

Да, когда домен приложения снова начинается, что может произойти при поступлении следующего запроса. Если вы используете Hangfire в качестве отдельной службы Windows, выполнение задачи не прерывается даже при перезапуске вашего приложения в ASP.NET. –

+0

Хорошо, я вижу. Спасибо за разъяснение. Наверное, у меня нет серебряной пули для моей проблемы (моя работа не удастся, если повторится в любой момент). – JensOlsen112

Смежные вопросы