【发布时间】:2018-05-16 12:01:33
【问题描述】:
我有一个带有 Hangfire 实现的 .Net Core 应用程序。
每分钟有一个重复的工作如下:-
RecurringJob.AddOrUpdate<IS2SScheduledJobs>(x => x.ProcessInput(), Cron.MinuteInterval(1));
var hangfireOptions = new BackgroundJobServerOptions
{
WorkerCount = 20,
};
_server = new BackgroundJobServer(hangfireOptions);
ProcessInput() 内部会检查一些要处理的 Id 的 BlockingCollection(),它会不断地处理。
有一段时间,前十个 ProcessInput() 作业会继续处理 10 个工作人员,而其他新的 ProcessInput() 作业会排队。
为此,我想增加工作人员的数量,比如大约 50 个,以便并行处理 50 个 ProcessInput() 作业。
请提出建议。 谢谢。
【问题讨论】:
-
默认情况下,它使用的线程数(工作线程)是每个处理器计数 5 个。最多 20 个。
标签: parallel-processing .net-core worker hangfire