Hangfire.SqlServer 1.7.28 The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved

There is a newer prerelease version of this package available.
See the version list below for details.
Install-Package Hangfire.SqlServer -Version 1.7.28
dotnet add package Hangfire.SqlServer --version 1.7.28
<PackageReference Include="Hangfire.SqlServer" Version="1.7.28" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Hangfire.SqlServer --version 1.7.28
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Hangfire.SqlServer, 1.7.28"
#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.SqlServer as a Cake Addin
#addin nuget:?package=Hangfire.SqlServer&version=1.7.28

// Install Hangfire.SqlServer as a Cake Tool
#tool nuget:?package=Hangfire.SqlServer&version=1.7.28
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

SQL Server 2008+ (including Express), SQL Server LocalDB and SQL Azure storage support for Hangfire (background job system for ASP.NET applications).

NuGet packages (94)

Showing the top 5 NuGet packages that depend on Hangfire.SqlServer:

Package Downloads
Hangfire

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/

Hangfire.SqlServer.MSMQ

MSMQ queues support for SQL Server job storage implementation for Hangfire (background job system for ASP.NET applications).

Naos.MessageBus.Hangfire.Sender

Created on 2021-09-14 09:40

Naos.MessageBus.Hangfire.Harness

Created on 2021-09-14 09:40

Hangfire.Azure.ServiceBusQueue

Azure ServiceBus Queue support for SQL Server job storage implementation

GitHub repositories (18)

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

Repository Stars
abpframework/abp
Open Source Web Application Framework for ASP.NET Core
simplcommerce/SimplCommerce
A simple, cross platform, modularized ecommerce system built on .NET Core
eventflow/EventFlow
Async/await first CQRS+ES and DDD framework for .NET
VirtoCommerce/vc-platform
VirtoCommerce Platform repository
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.
Version Downloads Last updated
1.8.0-beta4 7,350 11/12/2021
1.8.0-beta3 17,872 7/5/2021
1.8.0-beta2 8,268 4/15/2021
1.8.0-beta1 3,998 3/19/2021
1.7.28 67,936 12/18/2021
1.7.27 274,994 11/3/2021
1.7.26 46,757 10/27/2021
1.7.25 528,151 8/30/2021
1.7.24 745,528 6/28/2021
1.7.23 412,534 5/28/2021
1.7.22 665,119 4/13/2021
1.7.21 13,408 4/12/2021
1.7.20 291,046 3/19/2021
1.7.19 1,179,144 1/15/2021
1.7.18 897,044 11/20/2020
1.7.17 591,672 10/20/2020
1.7.16 114,133 10/14/2020
1.7.15 109,298 10/8/2020
1.7.14 243,010 9/24/2020
1.7.13 169,102 9/15/2020
1.7.12 847,636 7/24/2020
1.7.11 2,256,720 4/15/2020
1.7.10 269,735 4/2/2020
1.7.9 1,870,793 1/20/2020
1.7.8 774,107 12/5/2019
1.7.7 840,570 10/22/2019
1.7.6 1,434,741 8/5/2019
1.7.5 311,842 7/18/2019
1.7.4 360,666 6/28/2019
1.7.3 627,204 5/23/2019
1.7.2 401,958 4/29/2019
1.7.1 286,941 4/16/2019
1.7.0 309,597 3/29/2019
1.6.30 5,146 4/29/2021
1.6.29 30,063 4/15/2020
1.6.28 49,779 1/14/2020
1.6.27 55,983 6/27/2019
1.6.26 79,115 5/23/2019
1.6.25 12,889 4/9/2019
1.6.24 25,092 3/27/2019
1.6.23 223,150 3/13/2019
1.6.22 752,437 1/25/2019
1.6.21 1,006,562 11/1/2018
1.6.20 1,062,907 7/31/2018
1.6.19 1,301,355 4/6/2018
1.6.18 19,134 4/5/2018
1.6.17 1,581,276 9/19/2017
1.6.16 150,461 9/2/2017
1.6.15 226,339 8/8/2017
1.6.14 283,841 6/16/2017
1.6.13 64,707 6/7/2017
1.6.12 558,633 3/22/2017
1.6.11 36,816 3/14/2017
1.6.10 13,402 3/13/2017
1.6.9 48,172 3/2/2017
1.6.8 326,115 12/21/2016
1.6.7 153,527 11/25/2016
1.6.6 174,008 10/13/2016
1.6.5 110,260 9/24/2016
1.6.4 93,968 8/30/2016
1.6.3 38,869 8/19/2016
1.6.2 59,148 8/5/2016
1.6.1 54,999 7/27/2016
1.6.0 33,611 7/15/2016
1.5.9 170,385 7/11/2016
1.5.8 39,857 6/17/2016
1.5.7 27,636 5/30/2016
1.5.6 70,114 4/22/2016
1.5.5 20,459 4/14/2016
1.5.4 51,118 3/22/2016
1.5.3 286,437 11/6/2015
1.5.2 27,535 10/15/2015
1.5.1 2,837 10/14/2015
1.5.0 47,907 10/1/2015
1.4.7 2,547 10/1/2015
1.4.6 35,038 8/29/2015
1.4.5 36,357 7/24/2015
1.4.4 1,974 7/23/2015
1.4.3 62,686 5/27/2015
1.4.2 11,022 5/6/2015
1.4.1 22,190 4/14/2015
1.3.4 54,721 2/4/2015
1.3.3 3,229 1/28/2015
1.3.2 1,792 1/27/2015
1.3.1 7,177 1/13/2015
1.3.0 7,742 12/10/2014
1.2.2 17,021 11/24/2014
1.2.1 1,632 11/22/2014
1.2.0 4,779 11/17/2014
1.1.1 16,680 9/5/2014
1.1.0 2,561 9/3/2014
1.0.2 5,633 7/1/2014
1.0.1 1,497 6/30/2014
1.0.0 1,620 6/30/2014
0.9.1 2,663 6/12/2014
0.9.0 1,356 6/7/2014
0.8.3 1,388 5/23/2014
0.8.2 1,344 5/21/2014
0.8.1 2,374 5/17/2014
0.8.0 2,236 5/2/2014
0.7.5 1,449 4/10/2014
0.7.4 1,226 4/7/2014
0.7.3 1,220 4/4/2014
0.7.1 1,216 4/1/2014
0.7.0 2,644 3/22/2014

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

Please see https://docs.hangfire.io/en/latest/upgrade-guides/upgrading-to-hangfire-1.7.html to learn how to upgrade from 1.6.X.

1.7.28
• Fixed – Possibly fixed CPU consumption problems and high amounts of fetching queries after deploys to IIS.
• Fixed – No more than a single long-polling query is allowed per storage instance when using sub-second polling.
• Fixed – Don't depend on thread pool when sending heartbeats for active jobs to avoid problems when it's starved.

1.7.25
• Fixed – Avoid any blocked rows when removing inactive servers from the `Server` table.

1.7.24
• Changed – Don't use the `readcommittedlock` table hint when not required.
• Project – Stop using `TransactionScope` class in tests, re-create database instead.
• Project – Make it possible to run SQL Server tests on Mono on Linux.

1.7.23
• Fixed – `NotImplementedException` in `Transaction.EnlistPromotableSinglePhase` when running on Mono.

1.7.21
• Fixed – Ensure connection is released when exception is thrown when during lock release.
• Fixed – "A network-related or instance-specific error" when using `DisableConcurrentExecution` for long-running jobs.

1.7.20

Please see https://www.hangfire.io/blog/2021/03/19/hangfire-1.7.20.html for details, manual changes
required for those who already migrated to Schema 6 and 7. This problem will be also fixed in a new
migration in Hangfire 1.8.0.

• Fixed – `Schema 6` migration now fixes problem that prevents 2,147,483,648th job from being enqueued.

1.7.19
• Fixed – Return `null` instead of throwing FormatException when job id can't be parsed.
• Project – Run the entire Hangfire.SqlServer test suite against the new Microsoft.Data.SqlClient package.

1.7.18
• Added – `SqlServerStorageOptions.DeleteExpiredBatchSize` option to remove more expired records in a single pass.
• Fixed – Don't throw from `SqlServerStorage.ToString` method when using custom factory or existing connection.

1.7.17
• Fixed – SqlException "Incorrect syntax near 'throw'" after upgrading to 1.7.15 when using SQL Server 2008 or 2008R2.

1.7.16
• Fixed – Blocking problems when using multiple storages with the same queue names in the same process (appeared in 1.7.9).

1.7.15
• Fixed – Avoid deadlocks when using the `SetJobParameter` method without introducing issues for older schemas.
• Fixed – Remove duplicate sorting in the `SqlServerMonitoringApi.GetJobs` method which is used by a lot of queries.

1.7.14
• Fixed – Duplicate entries in the `JobParameters` table after upgrading to version 1.7.13.
• Fixed – Extensive retries on a method that has a retry attribute after upgrading to 1.7.13.
• Fixed – "ArgumentException: An item with the same key has already been added. Key: RetryCount" in `SqlServerMonitoringApi`.

1.7.13
• Added – `UseIgnoreDupKeyOption` for SQL Server storage configuration (changes to [Set] and [Hash] tables required).
• Fixed – Don't truncate too long keys silently, throw exceptions instead.
• Fixed – Add missing null checks for methods in the `SqlServerWriteOnlyTransaction` class.
• Fixed – Change `holdlock` hint to `xlock` in `merge` statements in transaction to prevent deadlocks.
• Fixed – Don't rethrow "Lock request time out period exceeded" exceptions from expiration manager.
• Fixed – Increase [Server].[Id] column's length to 200 for new installations.

1.7.10
• Changed – Use `XACT_ABORT` option for `ExpirationManager` queries.
• Changed – Don't rely on implicit rollback when disposing transactions.
• Fixed – `NullReferenceException` in logs thrown from `SqlInternalTransaction.Rollback` method.

1.7.9
• Changed – Implement long polling fetch for sub-second polling delays without `sp_getapplock`.
• Fixed – Don't leak `DbConnection` instance when an exception occurs during its opening.
• Fixed – Can not obtain connection from the pool exception after database was offline.
• Fixed – High number of waits in SQL Server when Hangfire Servers are idle.

1.7.8
• Added – Support for Microsoft.Data.SqlClient package when using a custom connection factory (Part II).
• Fixed – Remove `System.Data.SqlClient` dependency from `SqlCommandBatch` and `ExpirationManager`.

1.7.7
• Added – Add support for Microsoft.Data.SqlClient package when using custom connection factory (Part I).
• Added – Add `UseFineGrainedLocks` option to avoid deadlocks in some theoretical cases.
• Added – Add missing overload for `UseSqlServerStorage` with connection factory parameter only.
• Added – Expose the SqlServerObjectsInstaller.GetInstallScript method (by @altso).
• Fixed – Make command batching working on .NET Core when using System.Data.SqlClient 4.7.0 and higher.
• Fixed – Permit dash characters (`-`) in schema names (by @kendaleiv).
• Fixed – Escape square bracket characters in schema names.
• Project – Add support for `netcoreapp3.0` target in Hangfire.SqlServer.Tests.
• Project – Take schema name from constant in Hangfire.SqlServer.Tests (by @kendaleiv).
• Project – Make Hangfire.SqlServer.Tests work on Linux in Travis CI environment.

1.7.4
• Fixed – Potential deadlocks cause by suboptimal queries when using `SlidingInvisibilityTimeout` fetching.
• Fixed – Prevent zero delays between fetch retry attempts when lock acquisition failed without blocking.
• Fixed – Specify float precision explicitly for the `Score` column in the `AddToSet` method.

1.7.3
• Fixed – Wrong error message in migration script, when @CurrentSchemaVersion has a NULL value (by @penenkel).

1.7.2
• Fixed – Occasional "DataException: Error parsing column" error when using blocking fetch.

1.7.1
• Changed – Use blocking fetch implementation only for sub-second polling intervals.
• Fixed – Don't fail with an exception when can't connect to MSSQL instance during start-up.
• Fixed – Don't access the `JobQueue` table when using blocking query and don't have results.

1.7.0
• Added – Full .NET Core 2.0 support by explicitly targeting .NET Standard 2.0.
• Added – `Schema 7` migration to fix the `IX_HangFire_Set_Score` index to include the `Key` column.
• Added – `Schema 6` migration with less indexes, better physical layout and `bigint` support (disabled by default).
• Added – Blocking fetch support for sliding expiration-based fetch to avoid excessive polling.
• Added – `SqlServerStorageOptions.EnableHeavyMigrations` switch to automatically install even heavy migrations.
• Added – `SqlServerStorageOptions.DisableGlobalLocks` property to avoid custom locking scheme.
• Added – `SqlServerStorageOptions.UsePageLocksOnDequeue` property to use less CPU consuming fetch.
• Added – Callback method to allow to open the database with impersonation (by @BjoernHund).
• Added – `SqlServerStorageOptions.UseRecommendedIsolationLevel` option to set the minimum possible level.
• Changed – Identity columns either converted to the `bigint` type, or entirely removed.
• Changed – Clustered indexes were organized according to the access patterns of their tables.
• Changed – Most of secondary indexes were either removed or made filtered.
• Changed – Optimize sliding-expiration-based fetching to use even less CPU time.
• Changed – Use write reordering and fine-grained locking scheme to improve parallelism.
• Changed – Monitoring API doesn't check state data to see state transition time.
• Changed – Allow to use zero-based poll interval when sliding invisibility timeout.
• Changed – Short paths for the `CreateExpiredJob` method to avoid some round-trips.
• Changed – Set `SqlParameter` types explicitly to not to duplicate query plans.
• Changed – Batch support for `AddToQueue` method when default provider is used.
• Changed – Check `FetchedAt` has expected value to prevent prolonging others' work.
• Changed – Use more recent Dapper 1.50.7 on all platforms except .NET Framework 4.5.
• Changed – Dapper package is internalized now even on .NET Core to avoid possible conflicts.
• Fixed – Avoid unnecessary waits in state changer when job was already expired.
• Fixed – Cannot resolve the collation conflict in `CountersAggregator`.
• Fixed – Background processing stops when identity columns exceed the `Int32.MaxValue`.
• Fixed – Slowdown of scheduled jobs due to the missing index on the `[Set]` table.