HangFire 1.6.7

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 application. 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.
     http://hangfire.io/

There is a newer version of this package available.
See the version list below for details.
Install-Package HangFire -Version 1.6.7
dotnet add package HangFire --version 1.6.7
<PackageReference Include="HangFire" Version="1.6.7" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add HangFire --version 1.6.7
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

http://hangfire.io/blog/
   
1.6.7

Hangfire.Core
• Fixed – ArgumentException when using complex arguments in generic methods like "IList<T>" (by @aidmsu).
• Fixed – Generic arrays like "T[]" aren't supported in background job arguments (by @aidmsu).
• Fixed – Wrong choice of the overload when multiple methods match the given arguments (by @aidmsu).
• Fixed – Null values for arguments when there are errors during the JSON deserialization.
• Fixed – Window resize cause errors and uncontrolled growth of event and poll listeners (by @Yarmonov).
• Fixed – HtmlHelper.ToHumanDuration incorrectly formats fractional seconds (by @pieceofsummer).
• Fixed – Exception in Dashboard UI when CRON expression is null by an accident (by @aidmsu).
• Fixed – Error in Dashboard UI when rendering an array that contains a null element (by @djfoz).
• Fixed – Inconsistent constructors' accessibility for different context classes (by @pieceofsummer).
• Fixed – Decrease the max default workers count to "20" in tests (by patrykpiotrmarek).
• Fixed – Inconsistent EOL characters in some files of a project (by @aidmsu).
• Fixed – Make Queue name accessible from RecurringJobDto (by @swordfish6975).

Hangfire.SqlServer
• Fixed – Validation added to avoid "An invalid application lock time-out" exceptions (by t0mburton).

Hangfire.AspNetCore
• Fixed – Parameterless AspNetCoreJobActivator.BeginScope method now returns a correct instance (by @pieceofsummer).

1.6.6

Hangfire.Core
• Fixed – Hangfire.Core, Hangfire.SqlServer and Hangfire.SqlServer.Msmq marked as CLS-compliant.
• Fixed – Generic methods cause ArgumentNullException when scoped variable is used in expression.

Hangfire.SqlServer
• Fixed – SqlServerJobQueue class doesn't use obsolete InvisibilityTimeout parameter anymore.
   
1.6.5

Hangfire.Core
• Added – Chinese language to Dashboard UI (by @andy-zhouyou).
• Changed – Default upper limit of worker number is 20.
• Changed – Default value for DashboardJobListLimit is now 10000.
• Fixed – Deserialization exception in continuations, when TypeNameHandling.All option is used (by @MaksimSimkin).
• Fixed – I18N is not working, because there are no localized resources in NuGet packages.
• Fixed – Infinite redirect loops, when authenticated, but not authorized user accesses Dashboard UI.
• Fixed – "The type ... exists in both..." issue when building Hangfire, related to Newtonsoft.Json.
• Fixed – Use the given type's method, when scope variable is passed to a job expression.
• Fixed – Very rare resource leaks detected by Coverity Scan.

Hangfire.SqlServer
• Fixed – Different timeout issues after making performance optimizations.
• Fixed – SQL timeouts while getting a connection, when using default settings and >= 8 CPU cores.
• Fixed – ExpirationManager is bloated by SqlError instances, when there are a lot of messages from server.
• Fixed – Counters query returned inconsistent results during CountersAggregator executions.
• Performance – Added missing NOLOCK hint for monitoring queries when using SqlServer-based queues.
• Performance – ExpirationManager is forced to use index seek operations for cascade deletions.
• Performance – CountersAggregator now uses clustered index scan to issue less logical reads.
• Performance – Paging queries in dashboard now use CTEs to utilize less logical reads.
   
1.6.4

Hangfire.SqlServer
• Fixed – `SqlConnection` object leaks when using nested distributed locks (in batches and continuations).
   
1.6.3

Hangfire.Core
• Fixed – Add missing `RecurringJob.AddOrUpdate` method overloads to prevent CS4014 warnings.
• Fixed – `ToGenericTypeString` method now handles types with no namespace correctly.

Hangfire.SqlServer
• Fixed – Prevent `ExpirationManager`'s command from timing out, when there are a lot of records.
• Fixed – `CountersAggregator` issue introduced in 1.6.2, that causes slow record aggregation.
• Fixed – Add `XLOCK` hint for `CountersAggregator` query to prevent deadlocks on lock escalation.

Hangfire.SqlServer.Msmq
• Fixed – Prevent MSMQ transactions from timing out after 1 minute of processing.
   
1.6.2

Hangfire.Core
• Changed – Recurring job page displays now raw cron strings, descriptions are in tooltips.
• Fixed – Return non-highlighted stack trace, when parsing takes too long, instead of throwing an exception.
• Fixed – Dashboard UI works correctly again, when IE 11 is in the Compatibility Mode.
• Fixed – Long method names now don't push tables out of the boundaries now.

Hangfire.SqlServer
• Changed – `JobExpirationCheckInterval` property value now defaults to 30 minutes.
• Fixed – Excessive blocking when expiring records in `State` and `JobParameters` tables.
• Fixed – Migration script `Install.sql` was deadlocked by itself, leading to errors on startup.

Hangfire.SqlServer.Msmq
• Fixed – Public MSMQ queue paths are parsed correctly now, when determining the queue length.
   
1.6.1

Hangfire.Core
• Added – Automatic unit tests execution for .NET Core on Windows, Linux and OS X using AppVeyor and Travis CI.
• Fixed – `DateTime` deserialization issues on .NET Core platform.
• Fixed – Fixed UI command behaviour, buttons can only be pressed once per command (by @mahoneyj2).
• Fixed – `TypeInitializationException` when using Serilog appeared in version 1.6.0.
• Fixed – Cron format strings for intervals are specified correctly now (by @stevetsang).
• Fixed – `NullReference` on Job Details page when background job has null value for `IEnumerable` argument.
• Fixed – Don't skip symbols when publishing NuGet packages.
• Fixed – Use GUID identifier when can't determine the host name.

Hangfire.AspNetCore
• Fixed – Add missing `GetHttpContext` extension method for the .NET Core platform.
   
1.6.0
   
Hangfire.Core
• Added – .NET Core support for Hangfire.Core and Hangfire.SqlServer packages (`netstandard1.3` target).
• Added – Ability to create jobs based on async methods, they are awaited by a worker (by @tuespetre).
• Added – Access to background job context from the `JobActivator.BeginScope` method.
• Added – Add LatencyTimeoutAttribute To delete jobs if timeout is exceeded (by @Excommunicated).
• Added – Ability to change statistics polling interval in dashboard (by @tristal).
• Added – Non-blocking `BackgroundJobServer.SendStop` method, that requests for a shutdown.
• Added – `BackgroundJobServerOptions.ServerName` option is back.
• Added – `IDashboardAuthorizationFilter` interface that makes `IAuthorizationFilter` obsolete.
• Added – Show background job continuations on Job Details page.
• Added – Multilanguage support in Dashboard via resource files (by @Elph).
• Added – Spanish localization for the Dashboard UI (by @Elph).
• Added – Enable backtracking from background job to recurrent job (by @teodimache).
• Added – Cron expressions for regular intervals for the `Cron` class (by @geirsagberg).
• Added – `IRecurringJobManager` interface for the `RecurringJobManager` class (by @arnoldasgudas).
• Added – Abstractions for Dashboard UI to decouple it from OWIN.
• Changed – Make the realtime/history graph to use localized dates on hover (by @Elph).
• Changed – Make graph tooltip also localized using data-attributes (by @Elph).
• Changed – Dashboard metric's title now contains the ResourceKey instead the title (by @Elph).
• Changed – Job Details page was redesigned to be more clean with less colors.
• Changed – Update jQuery to 2.1.4 and rickshaw.js to 1.5.1.
• Changed – Update NCrontab to 3.1.0.
• Changed – Update CronExpressionDescriptor to 1.17.
• Fixed – `ToGenericTypeString` method now supports nested classes (by @patrykpiotrmarek).
• Fixed – Dashboard Errors in Chrome and IE - Cannot read property 'removeChild' of null.
• Fixed – /hangfire/js outputs (unintended) UTF-8 BOM.

Hangfire.AspNetCore
• Added – Deep integration with ASP.NET Core via Hangfire.AspNetCore package.

Hangfire.SqlServer
• Added – .NET Core support for Hangfire.Core and Hangfire.SqlServer packages (`netstandard1.3` target).
• Added – Zero latency processing when client and server reside in the same process (by @bgurmendi).
• Changed – `SqlServerStorage` class constructor now takes `DbConnection` instances (by @tystol).
• Changed – `SqlServerObjectsInstaller` class is public now (by @vbfox).
• Changed – Update Dapper to 1.50.1 version.
• Fixed – Drop constraints on Server.Id prior to altering it to avoid conflicts.

Hangfire.SqlServer.Msmq
• Fixed – Package now depends on the latest Hangfire.SqlServer instead of version 1.2.2.

Showing the top 6 GitHub repositories that depend on HangFire:

Repository Stars
dotnetcore/OSharp
OSharp是一个基于.NetCore的快速开发框架,框架对 AspNetCore 的配置、依赖注入、日志、缓存、实体框架、Mvc(WebApi)、身份认证、功能权限、数据权限等模块进行更高一级的自动化封装,并规范了一套业务实现的代码结构与操作流程,使 .Net Core 框架更易于应用到实际项目开发中。
HTBox/allReady
This repo contains the code for allReady, an open-source solution focused on increasing awareness, efficiency and impact of preparedness campaigns as they are delivered by humanitarian and disaster response organizations in local communities.
q315523275/FamilyBucket
集合.net core、ocelot、consul、netty、grpc、eventbus、configserver、tracing、sqlsugar、vue-admin、基础管理平台等构建的微服务一条龙应用
Dynatrace/superdump
A service for automated crash-dump analysis
phongnguyend/Practical.CleanArchitecture
Sample Asp.Net Core 3.1 projects (+ Angular 9.0, React 16.13, Vue 2.6) which apply modern Clean Architecture, Domain-Driven Design, CQRS, Unit Testing, SOLID, Asp.Net Core Identity Custom Storage, Entity Framework Core, Identity Server 4, Blazor, Automated Testing With Selenium, Notification with SignalR, Tasks Scheduling with Hangfire, Health Checks, Security Headers, ...
revoframework/Revo
Event Sourcing, CQRS and DDD framework for C#/.NET Core.

Read more about the GitHub Usage information on our documentation.

Version History

Version Downloads Last updated
1.7.10 969 4/2/2020
1.7.9 139,582 1/20/2020
1.7.8 162,934 12/5/2019
1.7.7 206,221 10/22/2019
1.7.6 478,142 8/5/2019
1.7.5 81,388 7/18/2019
1.7.4 122,876 6/28/2019
1.7.3 244,617 5/23/2019
1.7.2 198,954 4/29/2019
1.7.1 100,476 4/16/2019
1.7.0 167,644 3/29/2019
1.6.28 1,659 1/14/2020
1.6.27 22,516 6/27/2019
1.6.26 22,739 5/23/2019
1.6.25 8,219 4/9/2019
1.6.24 18,570 3/27/2019
1.6.23 120,226 3/13/2019
1.6.22 367,124 1/25/2019
1.6.21 513,809 11/1/2018
1.6.20 564,950 7/31/2018
1.6.19 705,565 4/6/2018
1.6.18 11,086 4/5/2018
1.6.17 951,129 9/19/2017
1.6.16 75,400 9/2/2017
1.6.15 126,199 8/8/2017
1.6.14 188,572 6/16/2017
1.6.13 34,188 6/7/2017
1.6.12 340,428 3/22/2017
1.6.11 22,199 3/14/2017
1.6.10 7,534 3/13/2017
1.6.9 29,501 3/2/2017
1.6.8 196,773 12/21/2016
1.6.7 79,511 11/25/2016
1.6.6 96,310 10/13/2016
1.6.5 80,350 9/24/2016
1.6.4 63,277 8/30/2016
1.6.3 29,841 8/19/2016
1.6.2 34,096 8/5/2016
1.6.1 27,003 7/27/2016
1.6.0 17,310 7/15/2016
1.5.9 34,272 7/11/2016
1.5.8 26,925 6/17/2016
1.5.7 17,155 5/30/2016
1.5.6 47,646 4/22/2016
1.5.5 16,234 4/14/2016
1.5.4 34,139 3/22/2016
1.5.3 189,514 11/6/2015
1.5.2 16,249 10/15/2015
1.5.1 4,114 10/14/2015
1.5.0 26,140 10/1/2015
1.4.7 3,492 10/1/2015
1.4.6 20,397 8/29/2015
1.4.5 25,148 7/24/2015
1.4.4 2,918 7/23/2015
1.4.3 29,043 5/27/2015
1.4.2 10,300 5/6/2015
1.4.1 17,798 4/14/2015
1.3.4 44,546 2/4/2015
1.3.3 4,402 1/28/2015
1.3.2 3,113 1/27/2015
1.3.1 8,282 1/13/2015
1.3.0 6,479 12/10/2014
1.2.2 9,578 11/24/2014
1.2.1 2,836 11/22/2014
1.2.0 5,632 11/17/2014
1.1.1 15,323 9/5/2014
1.1.0 3,791 9/3/2014
1.0.2 6,229 7/1/2014
1.0.1 2,756 6/30/2014
1.0.0 2,898 6/30/2014
0.9.1 2,143 6/12/2014
0.9.0 1,320 6/7/2014
0.8.3 1,270 5/23/2014
0.8.2 1,183 5/21/2014
0.8.1 1,199 5/17/2014
0.8.0 2,152 5/2/2014
0.7.5 1,239 4/10/2014
0.7.4 1,195 4/7/2014
0.7.3 1,142 4/4/2014
0.7.2 1,115 4/4/2014
0.7.1 1,147 4/1/2014
0.7.0 1,200 3/22/2014
0.6.2 1,214 1/28/2014
0.6.1 1,147 1/27/2014
0.6.0 1,220 1/27/2014
0.5.2 1,189 11/19/2013
0.5.1 1,217 11/12/2013
0.5.0 2,426 11/10/2013
Show less