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.12 7 05/09/2024
1.8.3 5 07/12/2023
1.8.2 3 06/01/2023
1.7.12 10 04/10/2023
1.7.9 5 05/09/2024
1.6.19 6 08/15/2023
1.6.9 7 05/06/2024
1.6.3 5 05/28/2024
1.4.6 6 05/08/2024
1.1.1 7 05/12/2024