Hangfire 1.7.0 roadmap

Created on 6 Jul 2017  ·  9Comments  ·  Source: HangfireIO/Hangfire

Project

  • [x] Migrate to the new csproj project format, remove compatibility dependency (#982, PR #1309).
  • [ ] Move Hangfire.AspNet package to the main repository and document it. Later.
  • [x] Add netstandard2.0 and net46 targets to all the projects.
  • [x] Internalize Cronos dependency on netstandard targets using ILRepack.
  • [ ] Add SourceLink support to improve debugging experience. Later.

Background processing

  • [x] Add support for Task-based async background processes, opens road towards async storage (Issue #150).
  • [x] Use circuit breaker pattern to reduce the number of log messages in case of a failure.
  • [x] Background processing server should restart itself with a new id after server timeout to avoid resurrections (Issue #796).
  • [x] Add ability to stop workers from picking new jobs without cancelling processing of current ones (Issues #225, #402).
  • [x] Re-consider retries: add ability to use custom delays.

Storage

  • [x] Decrease the size of serialized payloads and remove version information (PR #891).
  • [x] Convert identity types to bigint in Hangfire.SqlServer to remove upper limit for job count (PR #898, Issue #749).
  • [x] Re-consider indexes in SqlServerStorage: remove unnecessary, create neccessary ones (PR #898, Issues #658, #844).
  • [ ] Add built-in index maintenance for database objects in Hangfire.SqlServer. This should be documented instead.
  • [x] Make transactionless fetch introduced in Hangfire.SqlServer 1.6.14 the default one.
  • [x] 1.6.X workers should be able to handle 1.7.0 schema and vice versa.
  • [x] Make Hangfire.SqlServer 1.7.0 migration optional, because it may take some time.
  • [x] Document gradual migration to 1.7.0 step-by-step.
  • [x] Add the GetByLowestScoreFromSet(..., int count) overload (#38).
  • [x] Implement a long-polling based on short-lived application locks.

Recurring jobs

  • [x] Support for complex Cron expressions, like L, W, # characters (PR #853, Issue #494).
  • [x] Solve problems with Daylight saving time transitions (PR #853, Issue #215).
  • [x] Handle different time zone names between Windows and Linux.

Misc

  • [x] Add DisplayNameAttribute-like feature when running in .NET Core (Issues #635, #718).
  • [x] Change TransactionTimeout default value.
  • [ ] Change default value for polling interval in dashboard.
  • [x] Replace charts with Chart.js
  • [x] Improve the QueueAttribute class and make queues clearer to understand.
  • [x] Ensure serialisation compatibility between .NET Core and .NET Framework.
meta

Most helpful comment

Any update when this will be implemented, it will be really helpful

Add DisplayNameAttribute-like feature when running in .NET Core (Issues #635, #718).

All 9 comments

@odinserj , see Polly for circuit breaker pattern...

Is there any ETA for 1.7? I'd like to use "last day of month"/L in cron expressions (#494), but don't want to build Hangfire myself.
Alternatively, a beta release would be welcome 😁

Any update when this will be implemented, it will be really helpful

Add DisplayNameAttribute-like feature when running in .NET Core (Issues #635, #718).

I've added my 2c to issue #635 re: DisplayName attribute - (a new attribute in the Hangfire assembly would create a dependency on Hangfire for any method serialised by Hangfire - which is a "bad thing" IMHO).

Solving timezone and daylight saving time issues is much easier with a dedicated time library like NodaTime. highly recommend it.

Hangfire 1.7.0-beta1 just released with a lot of changes, including support for display name in .NET Core via the JobDisplayNameAttribute.

I'm looking forward to seeing a nice solution for #225. Might this be one of the next things to tackle for 1.7.0?

@odinserj Any ETA or update on the release for 1.7.0? Thanks

Thanks for your patience, version 1.7.0 is finally released and already on NuGet – https://github.com/HangfireIO/Hangfire/releases/tag/v1.7.0.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tompazourek picture tompazourek  ·  3Comments

cottsak picture cottsak  ·  3Comments

dbones picture dbones  ·  3Comments

osmanrahimi picture osmanrahimi  ·  3Comments

shorbachuk picture shorbachuk  ·  4Comments