Hangfire.Core 1.8.0

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/

Showing the top 20 packages that depend on Hangfire.Core.

Packages Downloads
AspNetCore.HealthChecks.Hangfire
HealthChecks.Hangfire is the health check package for Hangfire.
29
Hangfire.NetCore
.NET Core's Worker Service host support for Hangfire, a background job framework for .NET applications.
22
Hangfire.PostgreSql
PostgreSql storage implementation for Hangfire (background job system for ASP.NET and aspnet core applications).
19
IdentityStream.Hangfire.Console
Job console for Hangfire
15
Hangfire.Redis.StackExchange
Hangfire Redis Storage Based on Redis.StackExchange See http://hangfire.io/ for some more info on the main project and https://github.com/marcoCasamento/Hangfire.Redis.StackExchange for info on this
12
Hangfire.PostgreSql
PostgreSql storage implementation for Hangfire (background job system for ASP.NET and aspnet core applications).
7
Hangfire.AspNetCore
ASP.NET Core support for Hangfire (background job system for ASP.NET applications).
7
Hangfire.NetCore
.NET Core's Worker Service host support for Hangfire (background job system for ASP.NET applications).
7
Hangfire.PostgreSql
PostgreSql storage implementation for Hangfire (background job system for ASP.NET applications).
6

Release notes are available in our blog https://www.hangfire.io/blog/ Please see https://docs.hangfire.io/en/latest/upgrade-guides/upgrading-to-hangfire-1.8.html to learn how to upgrade.

1.8.0 • Breaking – Dropped the NET45 platform target in favor of the NET451 target to support Visual Studio 2022. • Added – Introduce the Job.Queue property, so jobs now can have their own queue specified. • Added – Method overloads to create background jobs directly with a custom default queue. • Added – Method overloads to create recurring jobs directly with a custom default queue. • Added – IBackgroundJobClient.Create method overloads with the new queue parameter. • Added – Allow to filter exception types in AutomaticRetryAttribute by using the new OnlyOn property. • Added – DeletedState now has the persisted Exception property populated after a failure. • Added – JobContinuationOptions.OnlyOnDeletedState to create continuations after a failure. • Added – Exception job parameter is passed to continuation when UseResultsInContinuations method is used. • Added – FromExceptionAttribute to deal with an antecedent exception in a background job continuation. • Added – Make it possible to specify multiple JobContinuationOptions values for a continuation. • Added – BackgroundJobServerOptions.IsLightweightServer option to run a server with no storage processes. • Added – Ability to use custom formattable resource identifiers for the DisableConcurrentExecution filter. • Added – Pass ServerId to FailedState instances to simplify the debugging on different servers. • Added – Allow to pass job parameters when creating a job (by @brian-knoll-micronetonline). • Added – MisfireHandlingMode.Strict to create a job for each missed recurring job occurrence. • Added – Support for default culture and UI culture via the UseDefaultCulture configuration method. • Added – Introduce the captureDefault parameter in the CaptureCulture filter. • Added – IGlobalConfiguration.UseFilterProvider extension method to unify the configuration. • Added – Built-in Remove method for JobFilterCollection to remove global filters based on their type. • Added – CompatibilityLevel.Version_180 flag to avoid storing culture parameters when they are the same as the default ones. • Changed – Create job atomically when Transaction.CreateJob feature is supported by the storage. • Changed – Query time from storage in recurring and delayed schedulers when supported by storage. • Changed – Move job to the DeletedState instead of SucceededState when its invocation was canceled by a filter. • Changed – Speedup delayed jobs when a custom default queue is specified by avoiding extra state transition. • Changed – Use UI culture from CurrentCulture parameter when CurrentUICulture one is missing. • Changed – Increase the default value for the BackgroundJobServerOptions.StopTimeout to 500 ms. • Deprecated – AddOrUpdate overloads with optional params defined in the RecurringJobManagerExtensions class. • Deprecated – AddOrUpdate overloads with optional parameters defined in the RecurringJob class. • Deprecated – AddOrUpdate method overloads with no recurringJobId parameter. • Deprecated – RecurringJobOptions.QueueName property, new methods should be used instead. • Breaking – Dropped NET45 platform target in favor of NET451 target to support Visual Studio 2022.

Dashboard UI • Added – Dark mode support for Dashboard UI depending on the system settings (by @danillewin). • Added – Dashboard UI now has a full-width layout to display more data (by @danillewin). • Added – Allow to add custom JavaScript and CSS files to the Dashboard UI via the DashboardRoutes class. • Added – DefaultRecordsPerPage property on the DashboardOptions class (by @PaulARoy). • Added – IGlobalConfiguration.UseJobDetailsRenderer method for custom renderers for the Job Details page. • Added – Display deleted jobs in the Realtime and History graphs when supported by storage. • Added – IGlobalConfiguration.UseDashboardMetrics extension method to pass multiple metrics at once. • Added – State renderer for the DeletedState to display its new exception property. • Added – Support for new MonitoringApi methods for the Awaiting Jobs page. • Changed – Make it possible to display methods of non-loaded jobs in the Dashboard UI when supported by storage. • Changed – Improved display of realtime chart with more accents on failed and deleted jobs. • Changed – Don't display the queue name in the state transition list when it's the default one. • Changed – Display scheduled job count when the enqueued count is zero on the main metric.

Extensibility • Added – Factory, StateMachine, and Performer properties to context classes to avoid injecting services. • Added – Allow to pass custom data to ApplyStateContext and ElectStateContext instances. • Added – Preserve custom data dictionary between the entire filter chain. • Added – Allow to pass a transaction to background job state changer when new methods are implemented. • Changed – Ignore some members when serializing a JobFilterAttribute instance to decrease the payload size.

Storage • Added – Virtual JobStorage.GetReadOnlyConnection method intended to return JobStorageConnection for replicas. • Added – Virtual JobStorage.HasFeature method for querying optional features. • Added – The JobStorageFeatures class to avoid using magic strings in storage features. • Added – Optional GetSetCount, GetSetContains, and GetUtcDateTime methods for the JobStorageConnection class. • Added – Optional AcquireDistributedLock and RemoveFromQueue methods for the JobStorageTransaction class. • Added – Optional CreateJob and SetJobParameter methods for the JobStorageTransaction class. • Added – Optional ParametersSnapshot property for BackgroundJob and JobData classes to minimize roundtrips in the future. • Added – Support for transactional acknowledgment using a new storage method for better handling some data loss scenarios. • Added – Fetch Retries and Awaiting metrics in StatisticsDto properties when supported by storage. • Added – The JobStorageMonitor class with more available methods for the new features. • Changed – Allow to query job parameters without additional roundtrip when supported by storage. • Changed – Expose state data dictionaries in list DTOs when supported by storage. • Changed – Rely on storage indexing with the Monitoring.AwaitingJobs feature.

Internals • Added – IBackgroundProcess.UseBackgroundPool now allows to pass thread configuration logic. • Added – BackgroundJobServerOptions.WorkerThreadConfigurationAction option for custom thread configuration. • Changed – Allow changing queues on the fly with custom worker configuration. • Changed – Avoid storage roundtrip to query job data in worker, take data from previous state change. • Changed – FromParameterAttribute-based logic now always overwrites arguments, even with non-null values. • Changed – Turn the JobContinuationOptions enum into flags while still possible. • Changed – Re-implement TaskExtensions.WaitOneAsync only with the RegisterWaitForSingleObject method. • Changed – ServerHeartbeatProcess now uses ThreadPriority.AboveNormal to prioritize heartbeats.

.NET Framework 4.5.1

.NET Framework 4.6

.NET Standard 1.3

.NET Standard 2.0

Version Downloads Last updated
1.8.21 3 09/18/2025
1.8.20 5 06/03/2025
1.8.19 5 06/03/2025
1.8.18 6 02/26/2025
1.8.17 6 02/26/2025
1.8.16 6 02/26/2025
1.8.15 6 02/26/2025
1.8.14 21 09/27/2024
1.8.12 6 02/26/2025
1.8.11 5 02/26/2025
1.8.10 6 02/26/2025
1.8.9 5 02/26/2025
1.8.7 7 02/26/2025
1.8.6 16 09/20/2024
1.8.5 18 09/20/2024
1.8.4 5 02/26/2025
1.8.3 5 02/26/2025
1.8.2 6 02/26/2025
1.8.1 5 02/26/2025
1.8.0 10 09/25/2024
1.7.37 6 02/26/2025
1.7.36 6 02/26/2025
1.7.35 6 02/26/2025
1.7.34 6 02/26/2025
1.7.33 6 02/26/2025
1.7.32 6 02/26/2025
1.7.31 6 02/26/2025
1.7.30 6 02/26/2025
1.7.29 6 02/26/2025
1.7.28 6 02/26/2025
1.7.27 6 02/26/2025
1.7.26 6 02/26/2025
1.7.25 6 02/26/2025
1.7.24 6 02/26/2025
1.7.23 7 02/26/2025
1.7.22 5 02/26/2025
1.7.21 6 02/26/2025
1.7.20 6 02/26/2025
1.7.19 6 02/26/2025
1.7.18 6 02/26/2025
1.7.17 6 02/26/2025
1.7.16 6 02/26/2025
1.7.15 6 02/26/2025
1.7.14 6 02/26/2025
1.7.13 6 02/26/2025
1.7.12 6 02/26/2025
1.7.11 5 02/26/2025
1.7.10 6 02/26/2025
1.7.9 5 02/26/2025
1.7.8 5 02/26/2025
1.7.7 5 02/26/2025
1.7.6 5 02/26/2025
1.7.5 5 02/26/2025
1.7.4 5 02/26/2025
1.7.3 5 02/26/2025
1.7.2 5 02/26/2025
1.7.1 5 02/26/2025
1.7.0 4 02/26/2025
1.6.30 5 02/26/2025
1.6.29 6 02/26/2025
1.6.28 6 02/26/2025
1.6.27 5 02/26/2025
1.6.26 6 02/26/2025
1.6.25 6 02/26/2025
1.6.24 6 02/26/2025
1.6.23 6 02/26/2025
1.6.22 6 02/26/2025
1.6.21 6 02/26/2025
1.6.20 6 02/26/2025
1.6.19 6 02/26/2025
1.6.18 6 02/26/2025
1.6.17 6 02/26/2025
1.6.16 6 02/26/2025
1.6.15 6 02/26/2025
1.6.14 6 02/26/2025
1.6.13 6 02/26/2025
1.6.12 6 02/26/2025
1.6.11 5 02/26/2025
1.6.10 6 02/26/2025
1.6.9 5 02/26/2025
1.6.8 4 02/26/2025
1.6.7 5 02/26/2025
1.6.6 5 02/26/2025
1.6.5 5 02/26/2025
1.6.4 5 02/26/2025
1.6.3 5 02/26/2025
1.6.2 5 02/26/2025
1.6.1 5 02/26/2025
1.6.0 3 02/26/2025
1.5.9 5 02/26/2025
1.5.8 4 02/26/2025
1.5.7 5 02/26/2025
1.5.6 5 02/26/2025
1.5.5 5 02/26/2025
1.5.4 5 02/26/2025
1.5.3 5 02/26/2025
1.5.2 5 02/26/2025
1.5.1 5 02/26/2025
1.5.0 4 02/26/2025
1.4.7 5 02/26/2025
1.4.6 5 02/26/2025
1.4.5 5 02/26/2025
1.4.4 5 02/26/2025
1.4.3 5 02/26/2025
1.4.2 5 02/26/2025
1.4.1 5 02/26/2025
1.3.4 5 02/26/2025
1.3.3 5 02/26/2025
1.3.2 5 02/26/2025
1.3.1 5 02/26/2025
1.3.0 4 02/26/2025
1.2.2 5 02/26/2025
1.2.1 5 02/26/2025
1.2.0 4 02/26/2025
1.1.1 5 02/26/2025
1.1.0 4 02/26/2025
1.0.2 5 02/26/2025
1.0.1 5 02/26/2025
1.0.0 4 02/26/2025
0.9.1 5 02/26/2025
0.9.0 4 02/26/2025
0.8.3 4 02/26/2025
0.8.2 5 02/26/2025
0.8.1 6 02/26/2025
0.8.0 5 02/26/2025
0.7.5 4 02/26/2025
0.7.4 4 02/26/2025
0.7.3 4 02/26/2025
0.7.1 5 02/26/2025
0.7.0 5 02/26/2025
0.6.2 4 02/26/2025
0.6.1 4 02/26/2025
0.5.2 4 02/26/2025
0.5.1 4 02/26/2025
0.5.0 5 02/26/2025