HangFire.SqlServer 1.6.21

Hangfire SQL Server Storage

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

There is a newer version of this package available.
See the version list below for details.
Install-Package HangFire.SqlServer -Version 1.6.21
dotnet add package HangFire.SqlServer --version 1.6.21
paket add HangFire.SqlServer --version 1.6.21
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

https://www.hangfire.io/blog/
   
1.6.21
• Fixed – Change locking scheme in the `Connection.SetRangeInHash` method to avoid deadlocks.
     
1.6.20
• Fixed – Remove the synthetic limitation to support Azure SQL Management instance (by @TimSQL).
     
1.6.19
• Fixed – "String or binary data would be truncated" exception when state reason is too long.
• Fixed – Command handling in batch mode now stops after the first error due to "XACT_ABORT ON".
• Fixed – Make SqlCommandBatch disposable to dispose all the commands.
     
1.6.18
• Fixed – Rare deadlocks in SQL Server caused by the SetRangeInHash command.
   
1.6.17
• Added – `SqlServerStorageOptions.CommandBatchMaxTimeout` parameter to enable batching in transactions.
• Fixed – Timeout exceptions when there are a lot of large concurrent transactions by using the new batching method.
• Fixed – Distributed locks are safe now even in very unreliable networks and after network blips.
• Performance – Greatly decreased the number of connections required to process background jobs.
• Performance – Significantly decrease the number of roundtrips required to commit a transaction.
   
1.6.16
• Fixed – Lower the number of requests, when trying to acquire a distributed lock.
• Fixed – Problems with continuations and batch continuations, when using existing `SqlConnection` instance.
• Fixed – Distributed locks were silently released, when passing explicit closed connection to a storage.
• Fixed – `KeyNotFoundException` errors on various dashboard pages don't appear anymore (by @benjymous).
• Fixed – "Cannot release the application lock because it is not currently held" exceptions, when connection was closed.
• Fixed – Allow to use zero timeout for SQL Server-based distributed locks.
   
1.6.15
• Fixed – Timeout exceptions that's caused by SQL Server's thread pool starvation, caused by sp_getapplock.
• Fixed – Antecedent background job is constantly failing, when its continuation hasn't been fully created.
   
1.6.14
• Added – `SqlServerStorageOptions.SlidingInvisibilityTimeout` to fetch jobs without using transaction.
• Fixed – Transaction log is full due to 'ACTIVE_TRANSACTION' by enabling to use new non-transactional fetch.
• Fixed – `SqlServerJobQueueMonitoringApi` can't cause READ UNCOMMITTED isolation level to leak on SQL Server 2012 or earlier.
• Fixed – Add missing `SqlServerStorage(DbConnection, SqlServerStorageOptions)` constructor.
   
1.6.13
• Fixed – Don't hide errors occurred while running SQL migrations.
• Fixed – `KeyNotFoundException` when accessing Deleted Jobs page in Dashboard.
• Fixed – `SqlServerDistributedLock` leaks connections, when lock acquisition is failed.
   
1.6.9
• Fixed – `TimeoutException` on large arguments or large batches via `SqlServerOptions.CommandTimeout`.

1.6.8
• Fixed – Use `long` where possible instead of `int` for background job identifiers, full support will be in 1.7.0.
   
1.6.7
• Fixed – Validation added to avoid "An invalid application lock time-out" exceptions (by t0mburton).
   
1.6.6
• Fixed – SqlServerJobQueue class doesn't use obsolete InvisibilityTimeout parameter anymore.
   
1.6.5
• 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
• Fixed – `SqlConnection` object leaks when using nested distributed locks (in batches and continuations).

1.6.3
• 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.
   
1.6.2
• 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.

1.6.0
• 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.

Version History

Version Downloads Last updated
1.7.0-rc2 101 3/22/2019
1.7.0-rc1 622 3/15/2019
1.7.0-beta4 3,153 2/18/2019
1.7.0-beta3 115 2/15/2019
1.7.0-beta2 23,349 9/1/2018
1.7.0-beta1 43,012 3/2/2018
1.6.23 10,483 3/13/2019
1.6.22 108,888 1/25/2019
1.6.21 260,287 11/1/2018
1.6.20 391,751 7/31/2018
1.6.19 499,499 4/6/2018
1.6.18 5,710 4/5/2018
1.6.17 900,653 9/19/2017
1.6.16 67,790 9/2/2017
1.6.15 135,256 8/8/2017
1.6.14 195,151 6/16/2017
1.6.13 40,380 6/7/2017
1.6.12 343,249 3/22/2017
1.6.11 22,339 3/14/2017
1.6.10 11,062 3/13/2017
1.6.9 28,854 3/2/2017
1.6.8 204,252 12/21/2016
1.6.7 76,716 11/25/2016
1.6.6 108,797 10/13/2016
1.6.5 83,431 9/24/2016
1.6.4 68,288 8/30/2016
1.6.3 22,000 8/19/2016
1.6.2 34,036 8/5/2016
1.6.1 28,127 7/27/2016
1.6.0 17,439 7/15/2016
1.5.9 20,776 7/11/2016
1.5.8 27,567 6/17/2016
1.5.7 20,011 5/30/2016
1.5.6 53,962 4/22/2016
1.5.5 14,299 4/14/2016
1.5.4 28,106 3/22/2016
1.5.3 199,228 11/6/2015
1.5.2 19,461 10/15/2015
1.5.1 1,779 10/14/2015
1.5.0 20,550 10/1/2015
1.4.7 1,488 10/1/2015
1.4.6 20,442 8/29/2015
1.4.5 21,899 7/24/2015
1.4.4 726 7/23/2015
1.4.3 27,363 5/27/2015
1.4.2 9,059 5/6/2015
1.4.1 13,960 4/14/2015
1.3.4 43,220 2/4/2015
1.3.3 2,263 1/28/2015
1.3.2 890 1/27/2015
1.3.1 5,950 1/13/2015
1.3.0 4,371 12/10/2014
1.2.2 4,794 11/24/2014
1.2.1 558 11/22/2014
1.2.0 3,504 11/17/2014
1.1.1 13,097 9/5/2014
1.1.0 1,507 9/3/2014
1.0.2 4,339 7/1/2014
1.0.1 469 6/30/2014
1.0.0 523 6/30/2014
0.9.1 1,490 6/12/2014
0.9.0 471 6/7/2014
0.8.3 493 5/23/2014
0.8.2 427 5/21/2014
0.8.1 611 5/17/2014
0.8.0 1,357 5/2/2014
0.7.5 419 4/10/2014
0.7.4 365 4/7/2014
0.7.3 363 4/4/2014
0.7.1 348 4/1/2014
0.7.0 1,232 3/22/2014
Show less