Downloads of v 1.5.9
Average downloads per day
Share on Social Networks
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.
To install Hangfire, run the following command in the Package Manager Console
* Fixed – `OperationCanceledException` exceptions don't cause background processing to stop.
* Fixed – Don't leak Dashboard UI's `READ UNCOMMITTED` isolation level to other parts of an application.
* Fixed – `READ_COMMITTED_SNAPSHOT` option doesn't prevent background jobs from being processed.
* Changed – Disable immediate execution of a keep-alive query in queue and distributed locks.
* Fixed – Background jobs may be processed multiple times.
* Fixed – Keep-alive queries sometimes failing to execute.
* Fixed – Add queue name validation to the `RecurringJobScheduler` class (by @pzielinski86).
* Fixed – Add missing transaction to `KeepAliveQuery` (by @maxhauser).
* Fixed – Dashboard crashing when trying to get the MSMQ queue length (by @yangman).
* Fixed – Use keep-alive queries to prevent SQL Azure from killing a connection after 30 minute timeout.
* Fixed – Convert lock timeout value from double to int.
* Fixed – Missed recurring jobs sometimes aren't triggered for the first time.
* Changed – C# 6.0 is now required to compile the solution.
* Fixed – Recurring jobs failing after moving clock forward for daylight saving time.
* Fixed – Infinite loops when trying to change state of a background job that doesn't exist (by @mkravchuk7).
* Fixed – Update StackTraceParser and StackTraceFormatter to prevent critical flaw (by @atifaziz and @lukerogers).
* Fixed – "Cannot release the application lock" exception when using distributed locks.
* Fixed – `JobLoadException` when using interface method as a background job, appeared in 1.5.1.
* Fixed – `JobLoadException` during deserialization when a method defined in an inherited interface.
* Fixed – Unable to see enqueued jobs in Dashboard UI when using SQL Server queues.
* Fixed – Show alert box instead of an exception on Awaiting Jobs page.
* Added – `IBackgroundProcess` interface that allows to implement custom background processes.
* Added – `BackgroundProcessingServer` class for creating a server instance with completely custom background processes.
* Added – Support for running multiple `BackgroundJobServer` instances in the same AppDomain without explicit server names.
* Added – `JobActivatorScope` class to support custom IoC scopes/lifetimes.
* Added – Allow to specify a custom queue for recurring jobs (by @maleet).
* Added – Allow to use CancellationToken type as a job method parameter.
* Added – It is now possible to query the storage in state applying filters.
* Added – Allow to pass custom filters to `BackgroundJobServer` via options.
* Added – Option to hide the "Back to site" link (by @dradovic).
* Changed – Server components and background processes now use `Task` with `TaskCreationOptions.LongRunning`.
* Changed – ServerIds are now generated without ServerName, server names are deprecated.
* Changed – Arguments Renderer now supports TimeSpan and DateTime (by @yngndrw).
* Changed – Minor improvements for Dashboard navigation (by @pwelter34).
* Changed – Worker does not process a job when a transition to the Processing state failed (by @yngndrw).
* Changed – `BackgroundJobClientException` is thrown instead of `CreateJobFailedException`.
* Changed – WorkerId is now auto-generated and based on a GUID.
* Changed – Use StackTraceFormatter package for marking-up stack traces (by @atifaziz).
* Changed – Updated Dashboard CSS to Twitter Bootstrap 3.3.5.
* Fixed – Prevent worker from fetching and processing a job on shutdown.
* Fixed – `TaskCanceledException` thrown from a job method leads to failed job as expected.
* Fixed – Make `DelayedJobScheduler` resilient to empty background job ids.
* Fixed – Logical error in SqlServerDistributedLockTimeout value check (by @Tom-Kelly).
* Fixed – `OverflowException` in Dashboard when job duration exceeds int.MaxValue (by @mavenius).
* Fixed – "More details" button in Dashboard changes to "Less details" when collapsed (by @pascalberger).
* Added – Ability to specify the schema for SQL Server job storage (by @ryanmwright).
* Added – `TransactionTimeout` option for configuring the `TransactionScope` timeout.
* Added – `DashboardJobListLimit` option to prevent full table scans in Dashboard.
* Changed – `SqlServerDistributedLock` class is now public.
* Changed – Use `rowlock` table hint in job fetch query to prevent escalation.
* Changed – Dramatically improved page load times in Dashboard.
* Changed – Instant re-queue for background jobs even after ungraceful shutdown.
* Changed – `JobQueue.Queue` and `Server.Id` column length increased to 50 and 100 respectively (by @maleet).
* Added – Support for remote MSMQ queues through DTC transactions.
Copyright © 2013-2016 Sergey Odinokov
|Hangfire 1.6.14 (latest stable)||24,576||Friday, June 16, 2017|
|Hangfire 1.6.13||9,633||Wednesday, June 7, 2017|
|Hangfire 1.6.12||95,878||Wednesday, March 22, 2017|
|Hangfire 1.6.11||9,592||Tuesday, March 14, 2017|
|Hangfire 1.6.10||2,217||Monday, March 13, 2017|
|Hangfire 1.6.9||9,710||Thursday, March 2, 2017|
|Hangfire 1.6.8||77,608||Wednesday, December 21, 2016|
|Hangfire 1.6.7||30,705||Friday, November 25, 2016|
|Hangfire 1.6.6||41,111||Thursday, October 13, 2016|
|Hangfire 1.6.5||44,752||Saturday, September 24, 2016|
|Hangfire 1.6.4||26,842||Tuesday, August 30, 2016|
|Hangfire 1.6.3||11,735||Friday, August 19, 2016|
|Hangfire 1.6.2||20,435||Friday, August 5, 2016|
|Hangfire 1.6.1||16,256||Wednesday, July 27, 2016|
|Hangfire 1.6.0||9,617||Friday, July 15, 2016|
|Hangfire 1.5.9 (this version)||5,171||Monday, July 11, 2016|
|Hangfire 1.5.8||12,765||Friday, June 17, 2016|
|Hangfire 1.5.7||11,375||Monday, May 30, 2016|
|Hangfire 1.5.6||30,103||Friday, April 22, 2016|
|Hangfire 1.5.5||8,674||Thursday, April 14, 2016|
|Hangfire 1.5.4||14,446||Tuesday, March 22, 2016|
|Hangfire 1.5.3||108,455||Friday, November 6, 2015|
|Hangfire 1.5.2||10,293||Thursday, October 15, 2015|
|Hangfire 1.5.1||1,249||Wednesday, October 14, 2015|
|Hangfire 1.5.0||8,566||Thursday, October 1, 2015|
|Hangfire 1.4.7||871||Thursday, October 1, 2015|
|Hangfire 1.4.6||15,161||Saturday, August 29, 2015|
|Hangfire 1.4.5||15,528||Friday, July 24, 2015|
|Hangfire 1.4.4||369||Thursday, July 23, 2015|
|Hangfire 1.4.3||19,462||Wednesday, May 27, 2015|
|Hangfire 1.4.2||6,914||Wednesday, May 6, 2015|
|Hangfire 1.4.1||11,016||Tuesday, April 14, 2015|
|Hangfire 1.3.4||32,462||Wednesday, February 4, 2015|
|Hangfire 1.3.3||1,769||Wednesday, January 28, 2015|
|Hangfire 1.3.2||617||Tuesday, January 27, 2015|
|Hangfire 1.3.1||5,068||Tuesday, January 13, 2015|
|Hangfire 1.3.0||3,375||Wednesday, December 10, 2014|
|Hangfire 1.2.2||2,677||Monday, November 24, 2014|
|Hangfire 1.2.1||382||Saturday, November 22, 2014|
|Hangfire 1.2.0||2,942||Monday, November 17, 2014|
|Hangfire 1.1.1||11,081||Friday, September 5, 2014|
|Hangfire 1.1.0||1,296||Wednesday, September 3, 2014|
|Hangfire 1.0.2||3,632||Tuesday, July 1, 2014|
|Hangfire 1.0.1||298||Monday, June 30, 2014|
|Hangfire 1.0.0||285||Monday, June 30, 2014|
|HangFire 0.9.1||790||Thursday, June 12, 2014|
|HangFire 0.9.0||305||Saturday, June 7, 2014|
|HangFire 0.8.3||294||Friday, May 23, 2014|
|HangFire 0.8.2||216||Wednesday, May 21, 2014|
|HangFire 0.8.1||193||Saturday, May 17, 2014|
|HangFire 0.8.0||1,085||Friday, May 2, 2014|
|HangFire 0.7.5||262||Thursday, April 10, 2014|
|HangFire 0.7.4||216||Monday, April 7, 2014|
|HangFire 0.7.3||186||Friday, April 4, 2014|
|HangFire 0.7.2||164||Friday, April 4, 2014|
|HangFire 0.7.1||177||Tuesday, April 1, 2014|
|HangFire 0.7.0||207||Saturday, March 22, 2014|
|HangFire 0.6.2||201||Tuesday, January 28, 2014|
|HangFire 0.6.1||191||Monday, January 27, 2014|
|HangFire 0.6.0||181||Monday, January 27, 2014|
|HangFire 0.5.2||222||Tuesday, November 19, 2013|
|HangFire 0.5.1||203||Tuesday, November 12, 2013|
|HangFire 0.5.0||688||Sunday, November 10, 2013|