.Net Core Hangfire - увеличить количество рабочих - PullRequest
0 голосов
/ 16 мая 2018

У меня есть приложение .Net Core с реализацией Hangfire.

Существует повторяющееся задание в минуту, как показано ниже: -

RecurringJob.AddOrUpdate<IS2SScheduledJobs>(x => x.ProcessInput(), Cron.MinuteInterval(1));

var hangfireOptions = new BackgroundJobServerOptions
            {
                WorkerCount = 20,
            };
            _server = new BackgroundJobServer(hangfireOptions);

ProcessInput () внутренне проверяет BlockingCollection ()некоторых идентификаторов для обработки он продолжает непрерывную обработку.

Есть время, когда первые десять заданий ProcessInput () продолжают обрабатываться с 10 работниками, когда другие новые задания ProcessInput () ставятся в очередь.

Для этой цели я хотел увеличить количество рабочих, скажем, примерно до 50, чтобы параллельно обрабатывалось 50 заданий ProcessInput ().

Пожалуйста, предложите.Спасибо.

1 Ответ

0 голосов
/ 29 июня 2018

вы можете попробовать увеличить рабочий процесс, используя этот метод. Вы должны знать количество процессоров, работающих на ваших серверах. Чтобы получить 100 рабочих, вы можете попробовать

var options = new BackgroundJobServerOptions { WorkerCount = Environment.ProcessorCount * 25 };
app.UseHangfireServer(options);

Источник

...