限制hangfire从特定队列中获取作业

时间:2017-02-10 15:10:05

标签: hangfire

我有2个hangfire实例/服务器正在运行。两者都指向同一个hangfire数据库。如何限制其中一个hangfire实例仅从特定队列中获取作业并忽略其他队列?

由于

2 个答案:

答案 0 :(得分:2)

启动实例时,您可以提供服务器要监视的队列列表:

app.UseHangfireServer(new BackgroundJobServerOptions()
    {
        // order defines priority
        // beware that queue names should be lowercase only
        Queues = new [] { "critical", "default", "myqueue" } 
    });

答案 1 :(得分:1)

相信Hangfire服务器会轮询已注册的作业队列,因此,如果您在多个服务器上注册了相同的队列,请先服务器。

如上所述,每个服务器上只有一些具有唯一队列名称的队列,因为这是Hangfire用于确定处理位置的位置。

例如,在我的情况下,我有一台服务器用于一般维护队列,一般适用于所有服务器和应用程序,而环境服务器包含作业目标环境特定任务的队列。