我有3台Hangfire服务器,它们都连接到同一数据库。每晚一次,我有一个周期性工作,它将触发多个入队工作。
例如,我有服务器A,B和C,在晚上10点,我的重复作业在服务器A上运行,它排队15个后台作业。但是,所有15个作业将在服务器A上处理。我希望A上有5个作业,B上有5个作业,C上有5个作业。
是否可以像这样平衡负载?
答案 0 :(得分:0)
除了将每台服务器上的工作程序数量限制为5个之外,第一个可用的工作程序将继续接替工作。 QueuePollInterval在其中也起作用。如果轮询时间长于您将由一台服务器的工作人员选择的工作。使其过小可能也会导致对数据库的过多读取(请注意)。
但是,只要没有资源争用,就应该让服务器以当前行为继续运行。