【问题标题】:IIS Worker Process busy using HangfireIIS 工作进程忙于使用 Hangfire
【发布时间】:2015-09-30 07:43:31
【问题描述】:

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

GlobalConfiguration.Configuration
         .UseMongoStorage(mongoConnectionString, mongoDatabaseName);

app.UseHangfireServer();

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

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

怎么了?

【问题讨论】:

  • 你使用的是什么版本的 Hangfire.Mongo 包?
  • 我正在使用Hangfire MongoDB Storage 0.2.2

标签: asp.net-mvc iis hangfire


【解决方案1】:

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

一位用户报告说,设置以下选项后一切正常。

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

但是,目前无法修复,另一种选择是将 Hangfire.Mongo 包降级到以前的版本。请查看相关GitHub issue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    • 2018-11-12
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    相关资源
    最近更新 更多