rss feed Blog

Hangfire 1.7.16

This release addresses a blocking issue appeared in version 1.7.9, where workers were unable to pick up new jobs when application is using multiple SQL Server storage instances in the same process with same queue names for each storage.

Continue Reading →

Hangfire.Pro 2.2.3

This release fixes possibly hanging continuations for background jobs which belong to a canceled batch. Problem was caused by wrong execution order between BatchSupport and ContinuationsSupport filters, and the former now runs before the latter to give it a chance to recognize antecedent background job was deleted.

Continue Reading →

Hangfire.Pro.Redis 2.8.1 & 2.8.2

These are maintenance releases that fix blocking issues appeared in version 2.6.0 when using multiple RedisStorage instances in the same process with the same queue names, avoid sharing the same semaphore for different storages when using distributed locks, add RedisStorageOptions.UseLegacyTransactions option to avoid using LUA-based transactions and add experimental Hangfire.Pro.Redis.SEv2 package based on StackExchange.Redis 2.X.

Continue Reading →

Hangfire 1.7.15

This release adds the IGlobalConfiguration.UseMaxLinesInExceptionDetails option to cap exception details when background jobs fail with an exception and forces only the first 100 lines of a stack trace to be persisted by default to avoid uncontrollable storage size growth. Also some improvements for SQL Server storage were added.

Continue Reading →

Hangfire.Pro.Redis 2.8.0

This version contains the most important changes for request/response processing pipeline since version 2.1 in terms of performance. LUA scripting feature is now used to implement transactions with proper locking, and it is much more efficient than the previous implementation based on conditional transactions. Less round-trips, reduced impact caused by latency, optimized distributed locks and better fetching from multiple queues makes this release so important, especially when using the package in a cloud environment.

Continue Reading →