我有 IO 密集型方法,我使用 hangfire 作为后台作业运行。
public IHttpActionResult Request(int[] ids)
{
foreach(var id in ids)
{
BackgroundJob.Enqueue<IMyService>(x => x.DoWork(id));
}
}
因此,对于每个 id,我将一个后台作业排入队列并按预期立即调用 hangfire DoWork()
。但是DoWork
是 IO 密集型的。因此,如果我有 100 多个 id,则需要大量 CPU 功率和带宽
无论如何可以限制 Hangfire 中的后台作业数量