我有2个hangfire实例/服务器正在运行。两者都指向同一个hangfire数据库。如何限制其中一个hangfire实例仅从特定队列中获取作业并忽略其他队列?
由于
答案 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用于确定处理位置的位置。
例如,在我的情况下,我有一台服务器用于一般维护队列,一般适用于所有服务器和应用程序,而环境服务器包含作业目标环境特定任务的队列。