Hangfire 1.8.0-rc2

The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved
This is a prerelease version of Hangfire.
dotnet add package Hangfire --version 1.8.0-rc2
NuGet\Install-Package Hangfire -Version 1.8.0-rc2
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="Hangfire" Version="1.8.0-rc2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Hangfire --version 1.8.0-rc2
#r "nuget: Hangfire, 1.8.0-rc2"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Hangfire as a Cake Addin
#addin nuget:?package=Hangfire&version=1.8.0-rc2&prerelease

// Install Hangfire as a Cake Tool
#tool nuget:?package=Hangfire&version=1.8.0-rc2&prerelease

An easy and reliable way to perform fire-and-forget, delayed and recurring, long-running, short-running, CPU or I/O intensive tasks inside ASP.NET applications. No Windows Service / Task Scheduler required. Even ASP.NET is not required.
Backed by Redis, SQL Server, SQL Azure or MSMQ. This is a .NET alternative to Sidekiq, Resque and Celery.
https://www.hangfire.io/

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

NuGet packages (159)

Showing the top 5 NuGet packages that depend on Hangfire:

Package Downloads
VirtoCommerce.CatalogModule.Data

Package Description

ImmediaC.SimpleCms

.Net Core CMS

N3O.Umbraco.Scheduler

TODO

VirtoCommerce.Platform.Hangfire

Virto Commerce is a flexible B2B ecommerce solution that offers powerful tools for enterprise business users. https://virtocommerce.com

ComplianceAuditSystems.AcabimCommonServices

Package Description

GitHub repositories (18)

Showing the top 5 popular GitHub repositories that depend on Hangfire:

Repository Stars
Ombi-app/Ombi
Want a Movie or TV Show on Plex/Emby/Jellyfin? Use Ombi!
blazorhero/CleanArchitecture
Clean Architecture Template for Blazor WebAssembly Built with MudBlazor Components.
fullstackhero/dotnet-webapi-boilerplate
Clean Architecture Template for .NET 6.0 WebApi built with Multitenancy Support.
dotnetcore/osharp
OSharp是一个基于.NetCore的快速开发框架,框架对 AspNetCore 的配置、依赖注入、日志、缓存、实体框架、Mvc(WebApi)、身份认证、功能权限、数据权限等模块进行更高一级的自动化封装,并规范了一套业务实现的代码结构与操作流程,使 .Net Core 框架更易于应用到实际项目开发中。
Kareadita/Kavita
Kavita is a fast, feature rich, cross platform reading server. Built with a focus for manga and the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.
Version Downloads Last updated
1.8.0-rc2 6,512 11/23/2022
1.8.0-rc1 26,297 6/13/2022
1.8.0-beta4 63,251 11/12/2021
1.8.0-beta3 75,150 7/5/2021
1.8.0-beta2 9,238 4/15/2021
1.8.0-beta1 3,128 3/19/2021
1.7.33 4,414 1/31/2023
1.7.32 205,963 11/21/2022
1.7.31 659,592 8/19/2022
1.7.30 634,498 6/10/2022
1.7.29 180,801 5/23/2022
1.7.28 1,833,766 12/18/2021
1.7.27 638,867 11/3/2021
1.7.26 102,699 10/27/2021
1.7.25 818,634 8/30/2021
1.7.24 838,669 6/28/2021
1.7.23 445,770 5/28/2021
1.7.22 678,110 4/13/2021
1.7.21 10,729 4/12/2021
1.7.20 279,212 3/19/2021
1.7.19 992,544 1/15/2021
1.7.18 888,608 11/20/2020
1.7.17 444,630 10/20/2020
1.7.16 93,121 10/14/2020
1.7.15 64,622 10/8/2020
1.7.14 323,340 9/24/2020
1.7.13 120,194 9/15/2020
1.7.12 659,459 7/24/2020
1.7.11 1,846,769 4/15/2020
1.7.10 243,226 4/2/2020
1.7.9 1,713,941 1/20/2020
1.7.8 629,017 12/5/2019
1.7.7 680,869 10/22/2019
1.7.6 1,336,349 8/5/2019
1.7.5 277,724 7/18/2019
1.7.4 278,287 6/28/2019
1.7.3 548,587 5/23/2019
1.7.2 384,588 4/29/2019
1.7.1 323,024 4/16/2019
1.7.0 298,597 3/29/2019
1.6.30 13,741 4/29/2021
1.6.29 40,907 4/15/2020
1.6.28 66,561 1/14/2020
1.6.27 57,192 6/27/2019
1.6.26 72,865 5/23/2019
1.6.25 17,032 4/9/2019
1.6.24 64,044 3/27/2019
1.6.23 188,330 3/13/2019
1.6.22 592,644 1/25/2019
1.6.21 1,001,057 11/1/2018
1.6.20 972,183 7/31/2018
1.6.19 1,142,397 4/6/2018
1.6.18 23,935 4/5/2018
1.6.17 1,374,878 9/19/2017
1.6.16 135,722 9/2/2017
1.6.15 211,305 8/8/2017
1.6.14 250,029 6/16/2017
1.6.13 53,380 6/7/2017
1.6.12 492,693 3/22/2017
1.6.11 34,331 3/14/2017
1.6.10 9,366 3/13/2017
1.6.9 43,181 3/2/2017
1.6.8 310,089 12/21/2016
1.6.7 165,390 11/25/2016
1.6.6 152,345 10/13/2016
1.6.5 93,610 9/24/2016
1.6.4 72,875 8/30/2016
1.6.3 37,006 8/19/2016
1.6.2 42,766 8/5/2016
1.6.1 46,959 7/27/2016
1.6.0 28,628 7/15/2016
1.5.9 111,406 7/11/2016
1.5.8 36,322 6/17/2016
1.5.7 19,997 5/30/2016
1.5.6 56,319 4/22/2016
1.5.5 18,956 4/14/2016
1.5.4 41,753 3/22/2016
1.5.3 275,631 11/6/2015
1.5.2 20,729 10/15/2015
1.5.1 5,027 10/14/2015
1.5.0 48,964 10/1/2015
1.4.7 4,493 10/1/2015
1.4.6 23,835 8/29/2015
1.4.5 29,791 7/24/2015
1.4.4 4,017 7/23/2015
1.4.3 56,020 5/27/2015
1.4.2 11,958 5/6/2015
1.4.1 27,954 4/14/2015
1.3.4 55,038 2/4/2015
1.3.3 5,767 1/28/2015
1.3.2 4,070 1/27/2015
1.3.1 9,419 1/13/2015
1.3.0 9,742 12/10/2014
1.2.2 11,459 11/24/2014
1.2.1 3,745 11/22/2014
1.2.0 6,533 11/17/2014
1.1.1 23,046 9/5/2014
1.1.0 4,645 9/3/2014
1.0.2 7,437 7/1/2014
1.0.1 3,569 6/30/2014
1.0.0 3,856 6/30/2014
0.9.1 3,291 6/12/2014
0.9.0 2,157 6/7/2014
0.8.3 2,135 5/23/2014
0.8.2 2,020 5/21/2014
0.8.1 2,044 5/17/2014
0.8.0 3,173 5/2/2014
0.7.5 2,479 4/10/2014
0.7.4 2,139 4/7/2014
0.7.3 2,051 4/4/2014
0.7.2 2,017 4/4/2014
0.7.1 2,059 4/1/2014
0.7.0 2,083 3/22/2014
0.6.2 2,041 1/28/2014
0.6.1 1,974 1/27/2014
0.6.0 2,056 1/27/2014
0.5.2 2,045 11/19/2013
0.5.1 2,058 11/12/2013
0.5.0 3,395 11/10/2013

https://www.hangfire.io/blog/

1.8.0-rc2

Hangfire.Core

• Added – Support for default culture and UI culture via the `UseDefaultCulture` configuration method.
• Added – `CompatibilityLevel.Version_180` flag to avoid storing culture parameters when they are the same as default.
• Added – `BackgroundJobServerOptions.IsLightweightServer` option to run server with no storage processes.
• Changed – Use UI culture from `CurrentCulture` parameter when `CurrentUICulture` one is missing.

Hangfire.SqlServer

• Breaking – Prioritise Microsoft.Data.SqlClient package over System.Data.SqlClient one.

• Changed – Bump internal version of Dapper to 2.0.123.
• Changed – Remove System.Data.SqlClient package from the NuGet dependency graph (by @0xced).

Hangfire.NetCore

• Added – `net451` and `netstandard1.3` targets for the package.
• Changed – Use `netstandard2.1` target instead of `netcoreapp3.0` for the package.

Hangfire.AspNetCore

• Breaking – Make the package to be dependent on Hangfire.NetCore to use the same types.

1.8.0-rc1

Hangfire.Core

• Added – Introduce the `Job.Queue` property, so jobs now can have their own queue specified.
• Added – Method overloads to create background jobs directly with a custom default queue.
• Added – Method overloads to create recurring jobs directly with a custom default queue.
• Added – `IBackgroundJobClient.Create` method overloads with the new `queue` parameter.
• Added – `JobContinuationOptions.OnlyOnDeletedState` to create continuations after a failure.
• Added – Make it possible to specify multiple `JobContinuationOptions` values for a continuation.
• Added – Ability to use custom formattable resource identifiers for the `DisableConcurrentExecution` filter.
• Added – Pass `ServerId` to `FailedState` instances to simplify the debugging on different servers.
• Added – Allow to pass job parameters when creating a job (by @brian-knoll-micronetonline).
• Added – `MisfireHandlingMode.Strict` to create job for each missed recurring job occurrence.
• Added – `DeletedState` now have the persisted `Exception` property populated after a failure.
• Added – `Exception` job parameter is passed to continuation when `UseResultsInContinuations` method is used.
• Added – `FromExceptionAttribute` to deal with an antecedent exception in a background job continuation.
• Added – Allow to filter exception types in `AutomaticRetryAttribute` by using the new `OnlyOn` property.
• Added – Built-in `Remove` method for `JobFilterCollection` to remove global filters based on their type.
• Added – `IGlobalConfiguration.UseFilterProvider` extension method to unify the configuration.
• Changed – Use the `AttemptsExceededAction.Delete` option by default in the global automatic retry filter.
• Changed – Query time from storage in recurring and delayed schedulers when supported by storage.
• Changed – Increase the default value for the `BackgroundJobServerOptions.StopTimeout` to 500 ms.
• Changed – Speedup delayed jobs when custom default queue is specified by avoiding extra state transition.
• Changed – Move job to the `DeletedState` instead of `SucceededState` when its invocation was canceled by a filter.
• Deprecated – `AddOrUpdate` overloads with optional params defined in the `RecurringJobManagerExtensions` class.
• Deprecated – `AddOrUpdate` overloads with optional parameters defined in the `RecurringJob` class.
• Deprecated – `AddOrUpdate` method overloads with no `recurringJobId` parameter.
• Deprecated – `RecurringJobOptions.QueueName` property, new methods should be used instead.
• Breaking – Dropped `NET45` platform target in favor of `NET451` target to support Visual Studio 2022.

Dashboard UI
• Added – Dark mode support for Dashboard UI configurable with the `UseDarkModeSupportForDashboard` method (by @danillewin).
• Added – Dashboard UI now have full-width layout to display more data (by @danillewin).
• Added – Allow to add custom JavaScript and CSS files to the Dashboard UI via the `DashboardRoutes` class.
• Added – `IGlobalConfiguration.UseJobDetailsRenderer` method for custom renderers for Job Details page.
• Added – Display deleted jobs in the Realtime and History graphs when supported by storage.
• Added – `IGlobalConfiguration.UseDashboardMetrics` extension method to pass multiple metrics at once.
• Added – State renderer for the `DeletedState` to display its new exception property.
• Changed – Make it possible to display methods of non-loaded jobs in Dashboard UI when supported by storage.
• Changed – Improved display of real-time chart with more accents on failed and deleted jobs.
• Changed – Don't display queue name in state transition list when it's the `default` one.
• Changed – Display scheduled job count when enqueued count is zero on the main metric.

Extensibility
• Added – `Factory`, `StateMachine` and `Performer` properties to context classes to avoid injecting services.
• Added – Allow to pass custom data to `ApplyStateContext` and `ElectStateContext` instances.
• Added – Preserve custom data dictionary between the entire filter chain.
• Added – Allow to pass transaction to background job state changer when new methods implemented.
• Changed – Ignore some members when serializing a `JobFilterAttribute` instance to decrease payload size.

Storage
• Added – Virtual `JobStorage.GetReadOnlyConnection` method intended to return `JobStorageConnection` for replicas.
• Added – Virtual `JobStorage.HasFeature` method for querying optional features.
• Added – Optional `GetSetCount` and `GetUtcDateTime` methods for the `JobStorageConnection` class.
• Added – Optional `AcquireDistributedLock` and `RemoveFromQueue` methods for the `JobStorageTransaction` class.
• Added – Support for transactional acknowledge using new storage method for better handling some data loss scenarios.
• Added – `CreateJob` method to the `JobStorageTransaction` abstract class.
• Added – `SetJobParameter` method to the `JobStorageTransaction` abstract class.
• Added – Experimental `JobStorageConnection.SetContains` method.
• Added – Optional `ParametersSnapshot` property for `BackgroundJob` and `JobData` classes to minimize roundtrips in future.
• Added – Fetch "Retries" metric with other statistics when supported by storage.
• Added – `JobStorageMonitor` class with more available methods for the new features.
• Changed – Allow to query job parameters without additional roundtrip when supported by a storage.
• Changed – Expose state data dictionaries in list DTOs when supported by storage.

Internals
• Added – `IBackgroundProcess.UseBackgroundPool` now allows to pass thread configuration logic.
• Added – `BackgroundJobServerOptions.WorkerThreadConfigurationAction` option for custom thread configuration.
• Changed – Allow changing queues on the fly with custom worker configuration.
• Changed – Avoid storage roundtrip to query job data in worker, take data from previous state change.
• Changed – `FromParameterAttribute`-based logic now always overwrites arguments, even with non-null values.
• Changed – Turn `JobContinuationOptions` enum into flags while still possible.
• Changed – Re-implement `TaskExtensions.WaitOneAsync` only with the `RegisterWaitForSingleObject` method.
• Changed – `ServerHeartbeatProcess` now uses `ThreadPriority.AboveNormal` to prioritize heartbeats.

Hangfire.SqlServer

• Breaking – Dropped `NET45` platform target in favor of `NET451` target to support Visual Studio 2022.

• Added – Recommended Schema 8 migration with fixed `JobQueue.Id` column to use the `bigint` type.
• Added – Automatic client package detection based on available types, preferring `System.Data.SqlClient` (by @0xced).
• Added – `SqlServerStorageOptions.DbProviderFactory` option to use custom provider factory.
• Added – `TryAutoDetectSchemaDependentOptions` option to automatically enable options based on schema.
• Added – `SqlServerStorage.SchemaVersion` metric for Dashboard UI.
• Added – Optional experimental transactional acknowledge for SQL Server (`UseTransactionalAcknowledge` option).
• Added – Implement the `Connection.GetUtcDateTime` feature to make work new changes in schedulers.
• Changed – Remove dependency on System.Data.SqlClient for Hangfire.SqlServer (by @0xced).
• Changed – Set default value for the `QueuePollInterval` option to `TimeSpan.Zero`.
• Changed – Polling delay when `QueuePollInterval` is set to zero now defaults to 200 ms.
• Changed – Sliding invisibility timeout-based fetching method is now used by default with 5 minute timeout.
• Changed – Use command batching by default with 5-minute maximum timeout.
• Changed – Enable `UseRecommendedIsolationLevel` option by default.
• Changed – `GetJobData` now populates `JobData.ParametersSnapshot` property to avoid additional round-trips.
• Changed – Display scheduled and processing jobs in the ascending order in Dashboard UI.
• Deprecated – `UsePageLocksOnDequeue` option is now obsolete and doesn't affect anything.

Hangfire.SqlServer.Msmq

• Breaking – Dropped `NET45` platform target in favor of `NET451` target to support Visual Studio 2022.

Hangfire.NetCore and Hangfire.AspNetCore

• Added – `IApplicationBuilder.UseHangfireServer` that accepts custom factory for `IBackgroundProcessingServer`.