【问题标题】:Hangfire limitting jobs count depending on server cpu / memory statusHangfire 限制作业计数取决于服务器 cpu / 内存状态
【发布时间】:2021-05-26 06:50:07
【问题描述】:

我可以使用队列名称在服务器之间分配我的作业。另外,我可以设置workerCount。但是,我需要根据服务器 cpu / 内存状态动态决定执行作业。此外,我需要再次根据 cpu / 内存指标在运行时选择最佳服务器。 我可以创建这样的业务逻辑吗?

【问题讨论】:

    标签: hangfire


    【解决方案1】:

    有不同的方法可以做到这一点,但不确定你为什么要这样做。 Number of workers 通常基于您拥有的 CPU 数量,这样您就不会得到没有足够资源使用的工人。

    如果您确实想在对任何作业进行排队之前使用 cpu/内存指标并检查系统状态,请注意,您每次都将增加额外的开销,以便在您排队下一个作业之前检查“所有”服务器指标。

    一种方法是根据池中的每个服务器创建一个队列名称。然后,使用 [UseQueueFromParameterAttribute] 属性运行您的逻辑并根据您从每个服务器的指标中找到的内容选择队列。

    Discussion and example on how to use UseQueueFromParameterAttribute

    【讨论】:

    • 谢谢你@jawad。我会试试 UseQueueFromParameterAttribute
    猜你喜欢
    • 2022-01-16
    • 2020-01-23
    • 2019-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    相关资源
    最近更新 更多