Hangfire 1.6.9

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/

No packages depend on Hangfire.

http://hangfire.io/blog/ 1.6.9 Hangfire.SqlServer • Fixed – `TimeoutException` on large arguments or large batches via `SqlServerOptions.CommandTimeout`. 1.6.8 Hangfire.Core • Fixed – `Cron.MonthInterval` now returns correct CRON expression. • Fixed – Throw `NotSupportedException` early, when arguments contain delegate or expression. • Fixed – Connection and distributed lock kept longer than necessary in `RecurringJobScheduler`. • Fixed – Use local date/times everywhere in Dashboard UI. • Fixed – Call chart update only when it exists in Dashboard UI to prevent JavaScript errors. • Fixed – Scheduled column title is now displaying correctly in Dashboard UI. • Fixed – Typo "Nexts jobs" should be "Next jobs" in Dashboard UI (by @danielabbatt). Hangfire.SqlServer • Fixed – Use `long` where possible instead of `int` for background job identifiers, full support will be in 1.7.0. 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.

.NET Framework 4.5

.NET Standard 1.3

Version Downloads Last updated
1.8.21 6 08/15/2025
1.8.20 9 05/17/2025
1.8.19 8 05/18/2025
1.8.18 17 03/02/2025
1.8.17 22 12/26/2024
1.8.16 19 12/26/2024
1.8.15 24 11/23/2024
1.8.14 21 11/28/2024
1.8.12 29 05/09/2024
1.8.11 19 11/30/2024
1.8.10 13 01/06/2025
1.8.9 20 11/27/2024
1.8.7 18 11/27/2024
1.8.6 19 11/28/2024
1.8.5 22 11/28/2024
1.8.4 15 12/26/2024
1.8.3 27 07/12/2023
1.8.2 26 06/01/2023
1.8.1 17 11/28/2024
1.8.0 19 11/28/2024
1.7.37 19 11/28/2024
1.7.36 22 11/28/2024
1.7.35 20 11/21/2024
1.7.34 22 12/08/2024
1.7.33 14 12/26/2024
1.7.32 22 11/28/2024
1.7.31 15 12/26/2024
1.7.30 16 12/04/2024
1.7.29 20 11/25/2024
1.7.28 22 11/23/2024
1.7.27 19 12/11/2024
1.7.26 19 11/27/2024
1.7.25 26 11/24/2024
1.7.24 17 11/27/2024
1.7.23 20 11/30/2024
1.7.22 24 12/02/2024
1.7.21 22 11/27/2024
1.7.20 21 11/27/2024
1.7.19 18 12/02/2024
1.7.18 19 11/25/2024
1.7.17 25 11/27/2024
1.7.16 15 01/06/2025
1.7.15 19 11/29/2024
1.7.14 25 11/22/2024
1.7.13 22 12/02/2024
1.7.12 29 04/10/2023
1.7.11 19 11/29/2024
1.7.10 21 11/27/2024
1.7.9 23 05/09/2024
1.7.8 20 11/29/2024
1.7.7 19 11/24/2024
1.7.6 20 11/21/2024
1.7.5 20 12/02/2024
1.7.4 17 12/02/2024
1.7.3 18 11/27/2024
1.7.2 20 11/29/2024
1.7.1 17 12/02/2024
1.7.0 17 12/02/2024
1.6.30 17 11/27/2024
1.6.29 19 12/12/2024
1.6.28 23 11/25/2024
1.6.27 19 11/28/2024
1.6.26 18 11/25/2024
1.6.25 24 11/29/2024
1.6.24 18 12/04/2024
1.6.23 18 11/28/2024
1.6.22 20 11/29/2024
1.6.21 22 11/28/2024
1.6.20 19 12/02/2024
1.6.19 27 08/15/2023
1.6.18 22 11/28/2024
1.6.17 21 11/28/2024
1.6.16 21 11/28/2024
1.6.15 19 12/06/2024
1.6.14 18 12/13/2024
1.6.13 21 11/29/2024
1.6.12 21 11/29/2024
1.6.11 18 12/05/2024
1.6.10 19 12/10/2024
1.6.9 24 05/06/2024
1.6.8 24 11/25/2024
1.6.7 17 11/28/2024
1.6.6 20 11/27/2024
1.6.5 19 12/02/2024
1.6.4 21 11/25/2024
1.6.3 28 05/28/2024
1.6.2 19 11/28/2024
1.6.1 20 12/01/2024
1.6.0 21 12/11/2024
1.5.9 19 11/28/2024
1.5.8 18 11/29/2024
1.5.7 16 11/30/2024
1.5.6 18 11/27/2024
1.5.5 22 12/08/2024
1.5.4 23 11/25/2024
1.5.3 15 11/29/2024
1.5.2 14 12/26/2024
1.5.1 17 11/27/2024
1.5.0 23 11/29/2024
1.4.7 17 11/29/2024
1.4.6 27 05/08/2024
1.4.5 13 12/26/2024
1.4.4 20 11/30/2024
1.4.3 21 11/22/2024
1.4.2 21 12/02/2024
1.4.1 25 11/20/2024
1.3.4 18 11/30/2024
1.3.3 14 12/26/2024
1.3.2 17 11/28/2024
1.3.1 20 11/25/2024
1.3.0 17 11/27/2024
1.2.2 16 12/11/2024
1.2.1 20 11/02/2024
1.2.0 20 11/25/2024
1.1.1 30 05/12/2024
1.1.0 19 12/04/2024
1.0.2 19 11/03/2024
1.0.1 18 11/28/2024
1.0.0 20 12/11/2024
0.9.1 18 12/16/2024
0.9.0 16 11/28/2024
0.8.3 17 12/02/2024
0.8.2 21 12/11/2024
0.8.1 18 11/30/2024
0.8.0 21 11/29/2024
0.7.5 20 11/28/2024
0.7.4 17 11/29/2024
0.7.3 19 12/04/2024
0.7.2 23 11/29/2024
0.7.1 20 11/27/2024
0.7.0 18 12/03/2024
0.6.2 21 11/22/2024
0.6.1 16 11/27/2024
0.6.0 16 12/26/2024
0.5.2 19 12/16/2024
0.5.1 19 11/25/2024
0.5.0 17 11/30/2024