You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hangfire的BackgroundJobServerOptions各参数如ShutdownTimeout等含义是什么

BackgroundJobServerOptions 参数含义详解

以下为Hangfire框架中该配置类各参数的具体作用,优先说明你询问的三个超时相关参数:

  • StopTimeout:服务优雅停止的第一阶段等待超时。当服务收到停止指令后,会先向所有正在运行的任务发送取消通知,该参数定义了等待任务响应取消信号、正常执行完毕的最大时长,超出该时长仍未结束的任务会进入强制终止流程。默认值为10秒。
  • ShutdownTimeout:服务完全关闭的总兜底超时。包含StopTimeout的等待时长,若从触发停止指令到当前的总时长超出该阈值,服务会直接终止进程,未完成的任务会被标记为执行失败,后续满足重试规则会自动重新入队执行。默认值为30秒。
  • ServerTimeout:服务实例存活判定超时。Hangfire的每个运行中的服务实例会定时上报心跳,若某个实例超过该参数设定的时长未上报心跳,看门狗会判定该实例已宕机,将该实例正在处理的所有任务重新放回队列,分配给其他存活实例执行,避免任务丢失。默认值为5分钟。

其余参数说明

  • WorkerCount:后台任务的工作线程数,默认取值为「CPU核心数*5」和内置默认最大线程数(通常为20)的较小值,适配IO密集型任务场景;如果是CPU密集型任务,建议调低至接近CPU核心数的数值。
  • Queues:当前服务实例监听的任务队列数组,默认仅监听默认队列default,可自定义多优先级队列,让不同实例负责处理不同队列的任务。
  • SchedulePollingInterval:延迟/定时任务的调度轮询间隔,调度器会按该频率扫描已到执行时间的延迟任务,将其推入对应执行队列。
  • HeartbeatInterval:服务实例心跳上报间隔,实例按该频率向存储层上报自身存活状态,配置值需远小于ServerTimeout,避免误判实例宕机。
  • ServerCheckInterval:服务看门狗的检查间隔,看门狗按该频率扫描所有实例的心跳记录,识别超时宕机的实例。
  • CancellationCheckInterval:任务取消状态扫描间隔,服务按该频率检查有没有被手动触发取消的任务,向对应运行中的任务下发取消信号。
  • FilterProvider:自定义过滤器提供器,可注入全局任务执行过滤器,实现任务执行前后的自定义逻辑(如日志审计、权限校验等)。
  • Activator:自定义任务实例激活器,可自定义任务类的实例化逻辑,通常用来对接项目的依赖注入容器创建任务实例。
  • TimeZoneResolver:自定义时区解析器,用来处理Cron定时任务的时区转换,默认使用服务器系统本地时区。
  • TaskScheduler:任务调度器,默认使用.NET运行时默认任务调度器,可自定义实现调整任务的调度规则。

内容的提问来源于stack exchange,提问作者Ian Wong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 00:36:06