Hangfire.Core 1.8.10
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 |
---|---|
FaceIT.Hangfire.Tags
Add tags to Hangfire backgroundjobs
|
6 |
FaceIT.Hangfire.Tags
Add tags to Hangfire backgroundjobs
|
7 |
Hangfire.Console
Job console for Hangfire
|
7 |
Hangfire.Console
Job console for Hangfire
|
9 |
Hangfire.NetCore
.NET Core's Worker Service host support for Hangfire (background job system for ASP.NET applications).
|
10 |
Hangfire.NetCore
.NET Core's Worker Service host support for Hangfire, a background job framework for .NET applications.
|
6 |
Hangfire.PostgreSql
PostgreSql storage implementation for Hangfire (background job system for ASP.NET applications).
|
6 |
Hangfire.SqlServer
SQL Server 2008+ (including Express), SQL Server LocalDB and SQL Azure storage support for Hangfire (background job system for ASP.NET applications).
|
6 |
Hangfire.SqlServer
SQL Server 2008+ (including Express), SQL Server LocalDB and SQL Azure storage support for Hangfire (background job system for ASP.NET applications).
|
7 |
Hangfire.SqlServer
SQL Server 2008+ (including Express), SQL Server LocalDB and SQL Azure storage support for Hangfire, a background job framework for .NET applications.
|
7 |
IdentityStream.Hangfire.Console
Job console for Hangfire
|
12 |
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.10
• Changed – Added Norwegian translations for new keys (by @khellang).
• Changed – Update Brazilian Portuguese translation (by @HugoAlames).
• Changed – Bump Cronos dependency to version 0.8.3.
• Project – Enable NuGet package and DLL signing with a company certificate.
• Project – Require NuGet package signature validation on restore for dependencies.
• Project – Add `HangfireIO` as a package owner.
1.8.9
• Changed – Use `Environment.MachineName` as a server name if other environment vars aren't available.
• Changed – Bump the Cronos package version from 0.7.1 to 0.8.1.
• Changed – Improve portuguese translations (by @filipe-silva).
• Fixed – Possible `NullReferenceException` on the Deleted Jobs page (regression from 1.8.7).
• Project – Enable full source link support with embedded symbols and repository-based sources.
• Project – Enable repeatable package restore using a lock file.
• Project – Run unit tests against the `net6.0` platform.
• Project – Modernise the build system and clean up the build scripts.
1.8.7
• Added – Allow using macro expressions like `@hourly` for recurring jobs (by @MuhamedAbdalla).
• Added – Show storage time in page footer when supported by storage implementation.
• Added – Show duration and latency columns separately on the Succeeded Jobs page when supported.
• Added – Show the exception column on the Deleted Jobs page when available and supported by storage.
• Changed – Reduce package size by stripping unnecessary locales in Moment.js.
• Changed – Bump Microsoft.Owin package to version 4.2.2.
• Changed – Log a warning message when a server listens to unsupported queue names.
• Changed – Use storage time, if available, to show delay warnings in the Dashboard UI.
• Fixed – Proper rendering of generic arguments on the Job Details page (by @olivermue).
• Fixed – Language inconsistency in the Dashboard UI related to date/time description.
• Fixed – Big stack traces take too long time to be formatted.
• Fixed – Don't throw `NullReferenceException` from the Scheduled Jobs page when there's a job with missing data.
• Fixed – Don't throw `NullReferenceException` from the Processing Jobs page when there's a job with missing data.
• Fixed – CSS for Enqueued and Deleted state cards in dark theme.
• Fixed – Log errors instead of throwing an exception when a particular table can't be cleaned.
• Fixed – Avoid logging fatal exceptions when stopping a faulting background process.
• Fixed – Don't display checkboxes in the Dashboard UI when job details can not be fetched.
• Fixed – Scrollbars in WebKit-based browsers are now dark in dark mode.
• Project – Disable tests for `netcoreapp1.0` and `netcoreapp2.1` targets since they aren't supported in AppVeyor.
• Project – Add a `net6.0` target for unit tests instead of the removed ones.
• Project – Modernise projects and build environments to use the newest features.
1.8.6
• Changed – Update jQuery library in Dashboard UI to version 3.7.1.
• Changed – Mark all types in Hangfire.Annotations with `EditorBrowsableAttribute(Never)`.
• Changed – Change state card colors for the Awaiting state to match the Scheduled state.
• Fixed – Exception when deserializing an instance of the `AutomaticRetryAttribute` class from JSON.
• Fixed – Add serialization-related constructors for all the exception classes.
• Fixed – Use invariant culture or ordinal comparisons for internal strings.
• Fixed – Use invariant culture when formatting key names for metrics.
• Fixed – Use `CurrentCulture` instead of `CurrentUICulture` when displaying time.
• Project – Enable running static analysis by Coverity Scan weekly.
• Project – Enable mandatory static analysis by the Microsoft.CodeAnalysis.NetAnalyzers package.
• Project – Change MSBuild path when building using newer .NET SDKs for Razor views.
1.8.5
• Added – Possibility to inform a `FaviconPath` on `DashboardOptions` (by @cezar-pimentel).
• Fixed – Inability to restore a disabled recurring job, regression in version 1.8.3.
• Fixed – Make it possible to serialize the `AutomaticRetryAttribute` filter to JSON.
1.8.4
• Added – Pass server id from a worker to the `PerformContext.ServerId` property available in filters.
• Fixed – Send heartbeats until full background processing server shutdown.
1.8.3
• Changed – Allow to configure `MaxLinesInStackTrace` for a particular `FailedState` instance.
• Fixed – Remove job id from schedule when it's not in the Scheduled state for some reason.
• Fixed – Missing invocations of recurring jobs when the new "Ignorable" option is used.
• Fixed – Make `DisableConcurrentExecutionAttribute` and `LatencyTimeoutAttribute` serializable.
1.8.2
• Changed – Disable transactional job creation feature appeared in 1.8.0.
• Fixed – "Can not start continuation XXX" error when storage supports transactional job creation.
1.8.1
• Added – `MisfireHandlingMode.Ignorable` to avoid scheduling recurring jobs on missed schedules.
• Added – Support disabling dark mode via the `DashboardOptions.DarkModeEnabled` property.
• Changed – Remove the 1-hour limitation for the `WithJobExpirationTimeout` configuration method.
• Fixed – Add missing `UseDefaultCulture` configuration method overloads.
• Fixed – Add missing `UseDashboardStylesheet` and `UseJobDetailsRenderer` configuration methods.
• Fixed – Give even more space for identifiers on the Recurring Jobs page.
• Fixed – `state-card-state-active` color is not very dark (by @coolhome).
• Fixed – Slightly change chart proportions to fit 4K in Dashboard UI.
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
- Owin (>= 1.0.0)
- Newtonsoft.Json (>= 5.0.1)
.NET Framework 4.6
- Owin (>= 1.0.0)
- Newtonsoft.Json (>= 5.0.1)
.NET Standard 1.3
- NETStandard.Library (>= 1.6.0)
- System.Threading.Thread (>= 4.0.0)
- System.Threading.ThreadPool (>= 4.0.10)
- Newtonsoft.Json (>= 9.0.1)
.NET Standard 2.0
- Newtonsoft.Json (>= 11.0.1)
Version | Downloads | Last updated |
---|---|---|
1.8.15 | 0 | 23.10.2024 |
1.8.14 | 6 | 22.09.2024 |
1.8.12 | 6 | 10.04.2024 |
1.8.11 | 7 | 11.03.2024 |
1.8.10 | 3 | 23.10.2024 |
1.8.9 | 3 | 23.10.2024 |
1.8.7 | 8 | 13.03.2024 |
1.8.6 | 6 | 11.03.2024 |
1.8.5 | 8 | 17.03.2024 |
1.8.4 | 4 | 22.09.2024 |
1.8.3 | 0 | 27.06.2023 |
1.8.2 | 0 | 26.05.2023 |
1.8.1 | 6 | 22.09.2024 |
1.8.0 | 6 | 22.09.2024 |
1.7.37 | 0 | 08.04.2024 |
1.7.36 | 5 | 22.09.2024 |
1.7.35 | 3 | 23.10.2024 |
1.7.34 | 0 | 30.03.2023 |
1.7.33 | 0 | 31.01.2023 |
1.7.32 | 0 | 21.11.2022 |
1.7.31 | 0 | 19.08.2022 |
1.7.30 | 4 | 22.09.2024 |
1.7.29 | 3 | 23.10.2024 |
1.7.28 | 5 | 22.09.2024 |
1.7.27 | 6 | 22.09.2024 |
1.7.26 | 0 | 27.10.2021 |
1.7.25 | 0 | 30.08.2021 |
1.7.24 | 4 | 22.09.2024 |
1.7.23 | 7 | 22.09.2024 |
1.7.22 | 6 | 22.09.2024 |
1.7.21 | 0 | 12.04.2021 |
1.7.20 | 6 | 22.09.2024 |
1.7.19 | 0 | 15.01.2021 |
1.7.18 | 0 | 20.11.2020 |
1.7.17 | 4 | 22.09.2024 |
1.7.16 | 0 | 14.10.2020 |
1.7.15 | 6 | 22.09.2024 |
1.7.14 | 4 | 22.09.2024 |
1.7.13 | 5 | 23.10.2024 |
1.7.12 | 4 | 22.09.2024 |
1.7.11 | 0 | 15.04.2020 |
1.7.10 | 6 | 22.09.2024 |
1.7.9 | 3 | 22.09.2024 |
1.7.8 | 6 | 22.09.2024 |
1.7.7 | 0 | 22.10.2019 |
1.7.6 | 0 | 05.08.2019 |
1.7.5 | 6 | 22.09.2024 |
1.7.4 | 0 | 28.06.2019 |
1.7.3 | 4 | 22.09.2024 |
1.7.2 | 0 | 29.04.2019 |
1.7.1 | 3 | 23.10.2024 |
1.7.0 | 3 | 23.10.2024 |
1.6.30 | 4 | 22.09.2024 |
1.6.29 | 0 | 15.04.2020 |
1.6.28 | 4 | 22.09.2024 |
1.6.27 | 0 | 27.06.2019 |
1.6.26 | 0 | 23.05.2019 |
1.6.25 | 3 | 22.10.2024 |
1.6.24 | 6 | 22.09.2024 |
1.6.23 | 0 | 13.03.2019 |
1.6.22 | 3 | 23.10.2024 |
1.6.21 | 0 | 01.11.2018 |
1.6.20 | 3 | 23.10.2024 |
1.6.19 | 6 | 22.09.2024 |
1.6.18 | 0 | 05.04.2018 |
1.6.17 | 0 | 19.09.2017 |
1.6.16 | 6 | 22.09.2024 |
1.6.15 | 3 | 23.10.2024 |
1.6.14 | 4 | 22.09.2024 |
1.6.13 | 0 | 07.06.2017 |
1.6.12 | 0 | 22.03.2017 |
1.6.11 | 4 | 22.09.2024 |
1.6.10 | 5 | 23.10.2024 |
1.6.9 | 0 | 02.03.2017 |
1.6.8 | 3 | 22.09.2024 |
1.6.7 | 0 | 25.11.2016 |
1.6.6 | 3 | 23.10.2024 |
1.6.5 | 4 | 22.09.2024 |
1.6.4 | 3 | 23.10.2024 |
1.6.3 | 0 | 19.08.2016 |
1.6.2 | 3 | 23.10.2024 |
1.6.1 | 3 | 22.09.2024 |
1.6.0 | 0 | 15.07.2016 |
1.5.9 | 3 | 23.10.2024 |
1.5.8 | 4 | 22.09.2024 |
1.5.7 | 4 | 22.09.2024 |
1.5.6 | 1 | 29.10.2024 |
1.5.5 | 0 | 14.04.2016 |
1.5.4 | 0 | 22.03.2016 |
1.5.3 | 0 | 06.11.2015 |
1.5.2 | 0 | 15.10.2015 |
1.5.1 | 5 | 23.10.2024 |
1.5.0 | 0 | 01.10.2015 |
1.4.7 | 3 | 23.10.2024 |
1.4.6 | 4 | 22.09.2024 |
1.4.5 | 4 | 22.09.2024 |
1.4.4 | 5 | 22.09.2024 |
1.4.3 | 0 | 27.05.2015 |
1.4.2 | 5 | 22.09.2024 |
1.4.1 | 3 | 23.10.2024 |
1.3.4 | 4 | 22.09.2024 |
1.3.3 | 3 | 22.09.2024 |
1.3.2 | 5 | 22.09.2024 |
1.3.1 | 4 | 22.09.2024 |
1.3.0 | 0 | 10.12.2014 |
1.2.2 | 6 | 22.09.2024 |
1.2.1 | 0 | 22.11.2014 |
1.2.0 | 0 | 17.11.2014 |
1.1.1 | 4 | 22.09.2024 |
1.1.0 | 4 | 22.09.2024 |
1.0.2 | 0 | 01.07.2014 |
1.0.1 | 3 | 23.10.2024 |
1.0.0 | 0 | 30.06.2014 |
0.9.1 | 3 | 23.10.2024 |
0.9.0 | 5 | 22.09.2024 |
0.8.3 | 2 | 29.10.2024 |
0.8.2 | 5 | 22.09.2024 |
0.8.1 | 5 | 22.09.2024 |
0.8.0 | 2 | 29.10.2024 |
0.7.5 | 3 | 23.10.2024 |
0.7.4 | 4 | 29.10.2024 |
0.7.3 | 4 | 22.09.2024 |
0.7.1 | 4 | 22.09.2024 |
0.7.0 | 5 | 22.09.2024 |
0.6.2 | 4 | 29.10.2024 |
0.6.1 | 0 | 27.01.2014 |
0.5.2 | 2 | 29.10.2024 |
0.5.1 | 0 | 12.11.2013 |
0.5.0 | 6 | 22.09.2024 |