首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Hangfire是如何为一个网络农场工作的?

Hangfire是如何为一个网络农场工作的?
EN

Stack Overflow用户
提问于 2016-10-06 06:44:34
回答 1查看 1.5K关注 0票数 5

我试图确切地了解,如果在web场中使用Hangfire,每个ASP.NET应用程序的配置是相同的,并且有N个实例使用相同的共享Server数据库进行Hangfire存储。

文档只是说分布式锁用于防止竞争条件,但这有点低,我需要理解这在实践中意味着什么。

示例:

如果我有5个web服务器实例,并且创建了一个每天下午5时运行一次的后台作业,这是否意味着在作业上获得“锁”的第一个实例最终会运行它,而所有其他实例都会在作业被锁定时忽略它?

我假设Hangfire一次只允许一个实例处理一个作业,但我还没有确认它。

如果我真的想同时在每个服务器实例上运行一个作业,那该怎么办呢?

如果有人对网络农场的Hangfire有任何实际经验的话,我会全神贯注的。

EN

回答 1

Stack Overflow用户

发布于 2017-01-18 07:21:35

在经过更多的研究和测试之后,我已经建立了以下基本规则:

  • Hangfire将在第一个具有可用容量的Hangfire服务器上执行一个后台作业,该任务基于该服务器上的工作线程数。
  • Hangfire将继续在该服务器上执行后台作业,直到工人池饱和,此时它将移动到农场中的下一个可用服务器,依此类推。
  • 如果使用相同的Hangfire存储实例,Hangfire服务器将自动包含在web场中,因此通常不需要额外的配置。
  • 如果希望在特定服务器上运行特定的后台作业或使用不同的工作负载分配算法,则可以使用命名队列,其中队列被指定名称并可能分配给特定的服务器实例,并且必须计划在该队列上运行后台作业。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39889247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档