HangFire 1.7.0-rc1
Prefix ReservedSee the version list below for details.
dotnet add package HangFire --version 1.7.0-rc1
NuGet\Install-Package HangFire -Version 1.7.0-rc1
<PackageReference Include="HangFire" Version="1.7.0-rc1" />
paket add HangFire --version 1.7.0-rc1
#r "nuget: HangFire, 1.7.0-rc1"
// Install HangFire as a Cake Addin
#addin nuget:?package=HangFire&version=1.7.0-rc1&prerelease
// Install HangFire as a Cake Tool
#tool nuget:?package=HangFire&version=1.7.0-rc1&prerelease
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.
https://www.hangfire.io/
Learn more about Target Frameworks and .NET Standard.
-
.NETFramework 4.5
- Hangfire.Core (= 1.7.0-rc1)
- Hangfire.SqlServer (= 1.7.0-rc1)
- Microsoft.Owin.Host.SystemWeb (>= 3.0.0)
-
.NETStandard 1.3
- Hangfire.AspNetCore (= 1.7.0-rc1)
- Hangfire.Core (= 1.7.0-rc1)
- Hangfire.SqlServer (= 1.7.0-rc1)
-
.NETStandard 2.0
- Hangfire.AspNetCore (= 1.7.0-rc1)
- Hangfire.Core (= 1.7.0-rc1)
- Hangfire.SqlServer (= 1.7.0-rc1)
NuGet packages (193)
Showing the top 5 NuGet packages that depend on HangFire:
Package | Downloads |
---|---|
VirtoCommerce.Platform.Hangfire
Virto Commerce is a flexible B2B ecommerce solution that offers powerful tools for enterprise business users. https://virtocommerce.com |
|
N3O.Umbraco.Scheduler
TODO |
|
ImmediaC.SimpleCms
ASP.NET Core based CMS |
|
ComplianceAuditSystems.AcabimCommonServices
Package Description |
|
Bnsights.Mvc
Bnsights.Mvc is RAD Helper DLL for MVC Projects in Bnsights DMCC. Also known as Bnsights Business Solutions Framework (BBSF). |
GitHub repositories (20)
Showing the top 5 popular GitHub repositories that depend on HangFire:
Repository | Stars |
---|---|
elsa-workflows/elsa-core
A .NET workflows library
|
|
Kareadita/Kavita
Kavita is a fast, feature rich, cross platform reading server. Built with the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.
|
|
fullstackhero/dotnet-webapi-starter-kit
production grade .net 8 webapi starter kit with multitenancy support and clean code. 🔥
|
|
fullstackhero/blazor-starter-kit
Clean Architecture Template for Blazor WebAssembly Built with MudBlazor Components.
|
|
dotnetcore/osharp
OSharp是一个基于.Net6.0的快速开发框架,框架对 AspNetCore 的配置、依赖注入、日志、缓存、实体框架、Mvc(WebApi)、身份认证、功能权限、数据权限等模块进行更高一级的自动化封装,并规范了一套业务实现的代码结构与操作流程,使 .Net 框架更易于应用到实际项目开发中。
|
Version | Downloads | Last updated |
---|---|---|
1.8.12 | 49,764 | 4/3/2024 |
1.8.11 | 260,007 | 2/23/2024 |
1.8.10 | 118,197 | 2/12/2024 |
1.8.9 | 204,049 | 1/24/2024 |
1.8.7 | 273,494 | 12/29/2023 |
1.8.6 | 816,198 | 10/18/2023 |
1.8.5 | 844,519 | 8/11/2023 |
1.8.4 | 185,402 | 7/27/2023 |
1.8.3 | 434,265 | 6/27/2023 |
1.8.2 | 456,375 | 5/26/2023 |
1.8.1 | 127,848 | 5/18/2023 |
1.8.0 | 293,108 | 4/28/2023 |
1.7.37 | 619 | 4/8/2024 |
1.7.36 | 88,716 | 6/29/2023 |
1.7.35 | 20,504 | 5/18/2023 |
1.7.34 | 495,655 | 3/30/2023 |
1.7.33 | 1,063,644 | 1/31/2023 |
1.7.32 | 1,130,056 | 11/21/2022 |
1.7.31 | 1,920,737 | 8/19/2022 |
1.7.30 | 1,359,725 | 6/10/2022 |
1.7.29 | 309,418 | 5/23/2022 |
1.7.28 | 3,161,071 | 12/18/2021 |
1.7.27 | 958,627 | 11/3/2021 |
1.7.26 | 143,126 | 10/27/2021 |
1.7.25 | 1,106,070 | 8/30/2021 |
1.7.24 | 1,141,232 | 6/28/2021 |
1.7.23 | 649,204 | 5/28/2021 |
1.7.22 | 835,771 | 4/13/2021 |
1.7.21 | 14,883 | 4/12/2021 |
1.7.20 | 377,993 | 3/19/2021 |
1.7.19 | 1,356,760 | 1/15/2021 |
1.7.18 | 1,048,004 | 11/20/2020 |
1.7.17 | 543,135 | 10/20/2020 |
1.7.16 | 119,791 | 10/14/2020 |
1.7.15 | 74,029 | 10/8/2020 |
1.7.14 | 553,673 | 9/24/2020 |
1.7.13 | 142,690 | 9/15/2020 |
1.7.12 | 797,917 | 7/24/2020 |
1.7.11 | 2,310,705 | 4/15/2020 |
1.7.10 | 279,989 | 4/2/2020 |
1.7.9 | 2,129,473 | 1/20/2020 |
1.7.8 | 722,910 | 12/5/2019 |
1.7.7 | 798,437 | 10/22/2019 |
1.7.6 | 1,466,538 | 8/5/2019 |
1.7.5 | 325,035 | 7/18/2019 |
1.7.4 | 327,693 | 6/28/2019 |
1.7.3 | 634,124 | 5/23/2019 |
1.7.2 | 423,835 | 4/29/2019 |
1.7.1 | 397,906 | 4/16/2019 |
1.7.0 | 346,832 | 3/29/2019 |
1.6.30 | 30,140 | 4/29/2021 |
1.6.29 | 55,433 | 4/15/2020 |
1.6.28 | 76,703 | 1/14/2020 |
1.6.27 | 61,102 | 6/27/2019 |
1.6.26 | 75,383 | 5/23/2019 |
1.6.25 | 21,977 | 4/9/2019 |
1.6.24 | 115,629 | 3/27/2019 |
1.6.23 | 204,236 | 3/13/2019 |
1.6.22 | 649,421 | 1/25/2019 |
1.6.21 | 1,103,599 | 11/1/2018 |
1.6.20 | 1,094,240 | 7/31/2018 |
1.6.19 | 1,248,046 | 4/6/2018 |
1.6.18 | 27,754 | 4/5/2018 |
1.6.17 | 1,533,795 | 9/19/2017 |
1.6.16 | 160,095 | 9/2/2017 |
1.6.15 | 242,324 | 8/8/2017 |
1.6.14 | 295,045 | 6/16/2017 |
1.6.13 | 62,721 | 6/7/2017 |
1.6.12 | 551,211 | 3/22/2017 |
1.6.11 | 39,796 | 3/14/2017 |
1.6.10 | 11,478 | 3/13/2017 |
1.6.9 | 48,925 | 3/2/2017 |
1.6.8 | 356,650 | 12/21/2016 |
1.6.7 | 187,631 | 11/25/2016 |
1.6.6 | 174,114 | 10/13/2016 |
1.6.5 | 99,893 | 9/24/2016 |
1.6.4 | 79,187 | 8/30/2016 |
1.6.3 | 40,356 | 8/19/2016 |
1.6.2 | 49,239 | 8/5/2016 |
1.6.1 | 57,085 | 7/27/2016 |
1.6.0 | 34,903 | 7/15/2016 |
1.5.9 | 137,803 | 7/11/2016 |
1.5.8 | 49,457 | 6/17/2016 |
1.5.7 | 22,655 | 5/30/2016 |
1.5.6 | 61,528 | 4/22/2016 |
1.5.5 | 21,157 | 4/14/2016 |
1.5.4 | 47,242 | 3/22/2016 |
1.5.3 | 302,763 | 11/6/2015 |
1.5.2 | 26,192 | 10/15/2015 |
1.5.1 | 6,888 | 10/14/2015 |
1.5.0 | 55,123 | 10/1/2015 |
1.4.7 | 6,505 | 10/1/2015 |
1.4.6 | 27,192 | 8/29/2015 |
1.4.5 | 34,912 | 7/24/2015 |
1.4.4 | 5,866 | 7/23/2015 |
1.4.3 | 62,442 | 5/27/2015 |
1.4.2 | 13,857 | 5/6/2015 |
1.4.1 | 34,806 | 4/14/2015 |
1.3.4 | 59,630 | 2/4/2015 |
1.3.3 | 8,798 | 1/28/2015 |
1.3.2 | 6,265 | 1/27/2015 |
1.3.1 | 11,510 | 1/13/2015 |
1.3.0 | 12,089 | 12/10/2014 |
1.2.2 | 14,023 | 11/24/2014 |
1.2.1 | 5,830 | 11/22/2014 |
1.2.0 | 8,810 | 11/17/2014 |
1.1.1 | 26,736 | 9/5/2014 |
1.1.0 | 7,065 | 9/3/2014 |
1.0.2 | 9,726 | 7/1/2014 |
1.0.1 | 5,989 | 6/30/2014 |
1.0.0 | 6,150 | 6/30/2014 |
0.9.1 | 6,106 | 6/12/2014 |
0.9.0 | 4,575 | 6/7/2014 |
0.8.3 | 4,907 | 5/23/2014 |
0.8.2 | 4,508 | 5/21/2014 |
0.8.1 | 4,681 | 5/17/2014 |
0.8.0 | 5,865 | 5/2/2014 |
0.7.5 | 5,587 | 4/10/2014 |
0.7.4 | 4,713 | 4/7/2014 |
0.7.3 | 4,454 | 4/4/2014 |
0.7.2 | 4,737 | 4/4/2014 |
0.7.1 | 5,161 | 4/1/2014 |
0.7.0 | 4,878 | 3/22/2014 |
0.6.2 | 3,239 | 1/28/2014 |
0.6.1 | 3,213 | 1/27/2014 |
0.6.0 | 3,262 | 1/27/2014 |
0.5.2 | 3,208 | 11/19/2013 |
0.5.1 | 3,233 | 11/12/2013 |
0.5.0 | 4,668 | 11/10/2013 |
https://www.hangfire.io/blog/
1.7.0-rc1
Hangfire.Core
• Added – `IGlobalConfiguration.SetDataCompatibilityLevel` to enable rolling upgrades from version 1.6.
• Added – `IGlobalConfiguration.UseRecommendedSerializerSettings` method for new installations.
• Added – Assemblies now loaded automatically when resolving a type when using default type resolver.
• Added – Custom `TaskScheduler` can now be specified in `BackgroundJobServerOptions` for workers.
• Added – `IdempotentCompletionAttribute` filter to enforce strict order for continuations.
• Added – `IBackgroundJobClient.ContinueJobWith` methods to replace `ContinueWith` ones in future for clarity.
• Added – `JobStorage.LinearizableReads` virtual property to avoid unnecessary waits in state changer.
• Changed – Split serializer setting to Internal and User scopes to isolate them (Version_170 Switch).
• Changed – Don't allow to affect internal serialization even by `JsonConvert.DefaultSettings` (Version_170 Switch).
• Changed – Share the same type binder between Hangfire itself and Newtonsoft.Json (Version_170 Switch).
• Changed – Use more compact representation of dates when using `SerializeDateTime` (Version_170 Switch).
• Changed – Stop using special case for `DateTime` argument serialization (Version_170 Switch).
• Changed – Don't serialize unused `AwaitingState.Expiration` field (Version_170 Switch).
• Changed – Use custom `SynchronizationContext` for async methods to run their continuations on worker thread.
• Changed – Specify parameter type when serializing arguments to allow using `TypeNameHandling.Auto` option.
• Changed – Use case sensitive search when resolving a type as by default in .NET.
• Changed – Make `SucceededState` constructor public to allow state serialization.
• Fixed – Worker now logs an error, when all the state change attempts failed due to an exception.
• Fixed – Ensure `RecurringJobScheduler` doesn't go into infinite loop when there's server of an older version.
• Fixed – Implement `BackgroundTaskScheduler.MaximumConcurrencyLevel` property.
• Fixed – Dashboard renderer for `AwaitingState` displays `Option` property as string again.
• Fixed – Don't serialize arguments multiple times when showing job details in dashboard.
• Fixed – `DateTimeOffset` conversion error when it was serialized with `TypeConverter`.
• Fixed – Remove duplicate of argument deserialization code for obsolete `Job` class methods.
• Fixed – Decorate all the exceptions with the `SerializableAttribute`.
• Project – Add `DataCompatibilityRangeFact` and `DataCompatibilityRangeTheory` classes for compatibility checks.
• Project – Reduce test execution time by removing unnecessary waits.
• Ported – Merged updates from version 1.6.23.
Hangfire.AspNetCore
• Changed – Remove internal service registrations that are inconsistent with server options.
• Ported – Merged updates from version 1.6.23.
Hangfire.SqlServer
• Added – `SqlServerStorageOptions.EnableHeavyMigrations` switch to automatically install even heavy migrations.
• Added – `Schema 7` migration to fix the `IX_HangFire_Set_Score` index to include the `Key` column.
• Added – `SqlServerStorageOptions.DisableGlobalLocks` property to avoid custom locking scheme.
• Added – `SqlServerStorageOptions.UsePageLocksOnDequeue` property to use less CPU consuming fetch.
• Changed – `Schema 6` migration is disabled by default for existing installations, because it may take too long.
• Changed – Don't throw an exception when using automatic migrations and current schema is newer than expected.
• Changed – Store arguments in the corresponding column in SQL Server again.
• Changed – Continue to use global locks by default in SQL Server storage.
• Changed – Bring `ExpirationManager` and `CountersAggregator` to their previous state.
• Changed – Monitoring API doesn't check state data to see state transition time.
• Changed – Update `CountersAggregator` to use clustered key for temp table.
• Fixed – Avoid unnecessary waits in state changer when job was already expired.
• Fixed – Cannot resolve the collation conflict in `CountersAggregator`.
• Ported – Merged updates from version 1.6.23.
1.7.0-beta4
Hangfire.Core
• Changed – `StopTimeout` introduced in 1.7.0-beta3 now defaults to zero seconds.
• Fixed – `NotSupportedException` thrown by `RecurringJobScheduler` (regression).
• Fixed – `NotSupportedException` thrown by `DelayedJobScheduler` (regression).
• Fixed – `RecurringJobManager.AddOrUpdate` method doesn't preserve `LastJobId` (regression).
• Fixed – Cache results of the `IsBatchingAvailable` method per connection type.
1.7.0-beta3
Hangfire.Core
• Added – Multi-stage shutdown to wait for graceful completion before starting to abort jobs.
• Added – Asynchronous checks for job cancellation, `IJobCancellationToken` can be replaced with `CancellationToken` (by @pieceofsummer).
• Added – Possibility to create millions of recurring jobs without stressing the scheduler.
• Added – Second-based recurring jobs are fully supported now with 6-part cron expressions.
• Added – Support for custom `TimeZoneInfo` resolvers in recurring jobs for interoperability purposes.
• Added – Package now explicitly targets .NET Standard 2.0, and .NET Framework 4.6 target added as well.
• Added – Type roundtrip support between .NET Core and .NET Framework for most common types.
• Added – Allow to specify queue names based on job arguments with `QueueAttribute` via patterns.
• Added – `PerformContext.Storage` property to allow server filters to spawn connections.
• Added – `GetFirstByLowestScoreFromSet` connection method overload that returns multiple items (by @cdschneider).
• Changed – New type serialization is disabled by default for compatibility reasons.
• Changed – Cronos package upgraded to 0.7.0 and internalized even on .NET Standard platforms.
• Changed – Replace Rickshaw with Chart.js to have beautiful charts with less headache.
• Changed – `DelayedJobScheduler` is able to use the new storage method to query multiple jobs at once.
• Changed – `RecurringJobScheduler` now uses index-based checks to fetch only those jobs that should be scheduled.
• Fixed – `ArgumentNullException` when job class contains method with non-resolvable generic arguments.
• Fixed – Re-add missing fonts as embedded resources due to a regression appeared in 1.7.0-beta2.
• Fixed – "Failed to initialize CoreCLR" error, by removing reference to `Microsoft.NETCore.Portable.Compatibility`.
• Fixed – Possible race conditions in `RecurringJobScheduler` that may lead to job duplicates.
• Fixed – Configuration inconsistency introduced in 1.6.18 leading to issues with custom `JobActivator`.
• Fixed – Backward compatibility issue with type serialization when `TypeNameHandling.All` is used.
• Fixed – Triggering the recurring task doesn't update its last execution time.
• Fixed – Recurring job which don't have next execution (intentionally or not) don't cause exception.
• Fixed – Dashboard recurring jobs sorting is random (now it's based on next execution time).
• Fixed – Performance problems with huge amount of recurring jobs.
• Fixed – NextExecution field of a recurring job has delay in value getting set.
• Fixed – Dashboard graphs have improper sizing.
• Ported – Merged updates from version 1.6.21 and 1.6.22.
Hangfire.AspNetCore
• Added – Full .NET Core 2.0 support by explicitly targeting .NET Standard 2.0.
• Added – An overloaded AddHangfire method with `IServiceProvider` parameter (by @ericgreenmix and @denis-ivanov).
• Added – `BackgroundJobServerHostedService` class based on `IHostedService` interface.
• Added – `IServiceCollection.AddHangfireServer` method to register the server during configuration.
Hangfire.SqlServer
• Changed – Short paths for the CreateExpiredJob method to avoid some round-trips.
• Changed – Allow to use zero-based poll interval when sliding invisibility timeout.
• 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.
• Ported – Merged updates from version 1.6.21 and 1.6.22.
1.7.0-beta2
Hangfire.Core
• Fixed – `MissingMethodException` when using Newtonsoft.Json 11 in .NET Core 2.X with continuations (by @pieceofsummer).
• Ported – Merged updates from versions 1.6.18 – 1.6.20.
Hangfire.SqlServer
• Added – Blocking fetch support for sliding expiration-based fetch to avoid excessive polling.
• Changed – Optimize sliding-expiration-based fetching to use even less CPU time.
• Changed – Use write reordering and fine-grained locking scheme to improve parallelism.
• Ported – Merged updates from versions 1.6.18 – 1.6.20.
1.7.0-beta1
Hangfire.Core
• Added – Entry point for custom job naming strategies available for dashboard (by @pieceofsummer).
• Added – JobDisplayNameAttribute class for displaying jobs in dashboard, available on .NET Core (by @pieceofsummer).
• Added – Support async jobs returning ValueTask<T> and other await-compatible types (by @pieceofsummer).
• Added – Support for asynchronous background processes, opens the road toward async storage.
• Added – Circuit breaker pattern for background processes to reduce the logging pressure.
• Added – Processing server is now able to detect it was expired, and restart itself with the new id.
• Added – Ability to use custom delays for automatic retries of a background job.
• Added – ThreadAbortException and ThreadInterruptedException handling to keep the background process running.
• Added – Support for complex Cron expressions, including the `L`, `W`, `#` characters.
• Added – JobActivator.BeginScope method overload with the full PerformContext (by @jeroenvervaeke).
• Added – Support for read-only view for dashboard (by @mikechamberlain).
• Added – Storage property to control the job expiration time (by @rsilvanet).
• Changed – Decrease the size of serialized payloads and remove version information.
• Fixed – Server disappears from the list, but still performing the background processing.
• Fixed – Logging is too aggressive on transient errors.
• Fixed – Daylight saving time transitions now handled perfectly in recurring jobs thanks to Cronos.
• Fixed – Confusing Cron scheduling, when both day-of-week and day-of-month fields set.
Hangfire.SqlServer
* Added – Migration for Schema 6 to use...
• Added – Callback method to allow to open the database with impersonation (by @BjoernHund).
• 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.
• 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.