Sparkdo.BackgroundWorkers.Hangfire 1.0.2

dotnet add package Sparkdo.BackgroundWorkers.Hangfire --version 1.0.2
                    
NuGet\Install-Package Sparkdo.BackgroundWorkers.Hangfire -Version 1.0.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sparkdo.BackgroundWorkers.Hangfire" Version="1.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sparkdo.BackgroundWorkers.Hangfire" Version="1.0.2" />
                    
Directory.Packages.props
<PackageReference Include="Sparkdo.BackgroundWorkers.Hangfire" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sparkdo.BackgroundWorkers.Hangfire --version 1.0.2
                    
#r "nuget: Sparkdo.BackgroundWorkers.Hangfire, 1.0.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sparkdo.BackgroundWorkers.Hangfire@1.0.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sparkdo.BackgroundWorkers.Hangfire&version=1.0.2
                    
Install as a Cake Addin
#tool nuget:?package=Sparkdo.BackgroundWorkers.Hangfire&version=1.0.2
                    
Install as a Cake Tool

Sparkdo.BackgroundWorkers.Hangfire

Sparkdo Hangfire 后台工作者库,提供基于 Hangfire 的后台工作者功能集成实现。

功能特性

  • 与 Hangfire 后台工作者框架无缝集成
  • 支持周期性后台任务的调度和执行
  • 支持 Cron 表达式配置
  • 支持时区配置
  • 支持队列配置
  • 与 Sparkdo 框架无缝集成

安装

<PackageReference Include="Sparkdo.BackgroundWorkers.Hangfire" Version="x.x.x" />

核心组件

SparkdoBackgroundWorkersHangfireModule

Hangfire 后台工作者模块配置类,负责配置和注册 Hangfire 相关服务到依赖注入容器中:

  • 替换默认的后台工作者管理器为 Hangfire 实现
  • 根据配置决定是否启用后台工作者执行

HangfireBackgroundWorkerManager

Hangfire 后台工作者管理器,负责管理 Hangfire 后台工作者的注册和执行:

  • AddAsync(): 异步添加后台工作者
  • GetRecurringJobId(): 获取周期性作业ID
  • GetCron(): 根据时间间隔获取 Cron 表达式

HangfireBackgroundWorkerBase

Hangfire 后台工作者基类,提供 Hangfire 后台工作者的基本实现:

  • RecurringJobId: 周期性作业ID
  • CronExpression: Cron 表达式
  • TimeZone: 时区信息
  • Queue: 队列名称
  • DoWorkAsync(): 执行工作异步方法

HangfirePeriodicBackgroundWorkerAdapter

Hangfire 周期性后台工作者适配器,用于适配周期性后台工作者与 Hangfire 的集成:

  • DoWorkAsync(): 执行工作异步方法

IHangfireBackgroundWorker

Hangfire 后台工作者接口,定义 Hangfire 后台工作者的核心功能:

  • RecurringJobId: 周期性作业ID
  • CronExpression: Cron 表达式
  • TimeZone: 时区信息
  • Queue: 队列名称
  • DoWorkAsync(): 执行工作异步方法

扩展性

该库提供了完整的 Hangfire 集成功能实现,可以通过以下方式扩展:

  1. 继承 HangfireBackgroundWorkerBase 来创建自定义的后台工作者
  2. 实现 IHangfireBackgroundWorker 接口来定义自定义的后台工作者行为
  3. 通过配置 SparkdoHangfireOptions 来自定义 Hangfire 行为

代码结构说明

本项目包含以下主要组件:

模块配置

  • SparkdoBackgroundWorkersHangfireModule: Hangfire 后台工作者模块配置类

工作者管理

  • HangfireBackgroundWorkerManager: Hangfire 后台工作者管理器

工作者实现

  • HangfireBackgroundWorkerBase: Hangfire 后台工作者基类
  • HangfirePeriodicBackgroundWorkerAdapter: Hangfire 周期性后台工作者适配器

工作者接口

  • IHangfireBackgroundWorker: Hangfire 后台工作者接口

所有公共接口和类都添加了详细的 XML 文档注释,便于开发者理解和使用。

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.2 104 4/27/2026
1.0.2-preview.5 51 4/15/2026
1.0.2-preview.4 69 2/8/2026
1.0.2-preview.3 66 2/1/2026
1.0.2-preview.2 71 1/31/2026
1.0.2-preview.1 181 12/4/2025
1.0.1 231 11/27/2025
1.0.0 210 11/25/2025
1.0.0-preview.5 139 10/24/2025