Skip to content

Latest commit

 

History

History
31 lines (24 loc) · 1.64 KB

File metadata and controls

31 lines (24 loc) · 1.64 KB

Hangfire.RecurringJobCleanUpManager

Hangfire extension to delete jobs that have been removed from configuration code.

Objectives

  • Delete jobs that have been removed from configuration code.
  • Achieve the former objective in a simple/streamlined implementation.

Current situation

When first configuring a new job on Hangfire, there is a synchronization between the job configuration on code and the job definitions persisted on database. scenario

Then, when removing a job from your code ... Code remove

... the corresponding job definition is not removed from the database. No definition remove

Solution

Add a manager that removes jobs no longer defined in code but still persisted in the database, restoring synchronization. New manager

Example of use

var recurringJobCleanUp = new RecurringJobCleanUpManager(recurringJobManager)
{
    EnforceRecurringJob.Create<StoreBookings>("StoreBookings1", bookings => bookings.Execute(),Hangfire.Cron.Minutely()),
    EnforceRecurringJob.Create<StoreBookings>("StoreBookings2", bookings => bookings.Execute(),Hangfire.Cron.Minutely())
};

recurringJobCleanUp.AddUpdateDeleteJobs();