Sparkdo.BackgroundWorkers.Hangfire 1.0.1

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Sparkdo.BackgroundWorkers.Hangfire --version 1.0.1
                    
NuGet\Install-Package Sparkdo.BackgroundWorkers.Hangfire -Version 1.0.1
                    
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.1" />
                    
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.1" />
                    
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.1
                    
#r "nuget: Sparkdo.BackgroundWorkers.Hangfire, 1.0.1"
                    
#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.1
                    
#: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.1
                    
Install as a Cake Addin
#tool nuget:?package=Sparkdo.BackgroundWorkers.Hangfire&version=1.0.1
                    
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 net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos 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-preview.4 47 2/8/2026
1.0.2-preview.3 48 2/1/2026
1.0.2-preview.2 52 1/31/2026
1.0.2-preview.1 160 12/4/2025
1.0.1 209 11/27/2025
1.0.0 189 11/25/2025
1.0.0-preview.5 119 10/24/2025