0

我在我的 MVC webapp 中使用 Hangfire。我是这样配置的:

GlobalConfiguration.Configuration
         .UseMongoStorage(mongoConnectionString, mongoDatabaseName);

app.UseHangfireServer();

当我运行应用程序时,我看到IIS Worker Process它不断占用几乎 40% 的 CPU。

删除它会使应用程序正常工作。

怎么了?

4

1 回答 1

1

Hangfire.Mongo从 0.2.2 版开始使用新版本的mongocsharpdriver包,在与 Mongo 交谈时迁移到异步 API。Hangfire 仍然使用同步方法,并且看起来“同步异步”包装器中存在错误。

一位用户报告说,在设置以下选项后,一切都很好。

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

但是,该修复程序目前不可用,另一种选择是将 Hangfire.Mongo 包降级到以前的版本。请参阅相关的GitHub 问题

于 2015-09-30T13:16:59.937 回答