2015-09-30 3 views
0

Я использую Hangfire в своем MVC webapp. Я настроил это так:Рабочий процесс IIS занят с помощью Hangfire

GlobalConfiguration.Configuration 
     .UseMongoStorage(mongoConnectionString, mongoDatabaseName); 

app.UseHangfireServer(); 

При запуске приложения я вижу IIS Worker Process занимает постоянно почти 40% CPU.

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

Что случилось?

+0

Какую версию пакета Hangfire.Mongo вы используете? – odinserj

+0

Я использую 'Hangfire MongoDB Storage 0.2.2' – danyolgiax

ответ

1

Hangfire.Mongo начиная с версии 0.2.2 использует новую версию mongocsharpdriver пакет, который мигрировал в ASync API при разговоре с Монго. Hangfire по-прежнему использует синхронные методы, и похоже, что в обертке «sync over async» есть ошибка.

Один пользователь сообщил, что после установки следующих параметров все в порядке.

CountersAggregateInterval = TimeSpan.FromMinutes(5); 
JobExpirationCheckInterval = TimeSpan.FromHours(1); 

Однако данное исправление не доступно в настоящее время, и другой вариант, чтобы понизить пакет Hangfire.Mongo к предыдущей версии. См. Связанные GitHub issue.

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