How to remove all hangfire recurring jobs on startup?
c#, hangfire, recurring
Solution
A bit late on this one but hopefully it will help someone else. I got stuck in the same situation. In the end the answer on HangFire recurring task data helped me out.
I use the `JobStorage` to loop through all recurring jobs and remove each in turn as below:
using (var connection = JobStorage.Current.GetConnection())
{
foreach (var recurringJob in connection.GetRecurringJobs())
{
RecurringJob.RemoveIfExists(recurringJob.Id);
}
}
I am sure there is a nicer way out there but I couldn't find it
Problem
I am looking at using Hangfire as a job scheduler for recurring jobs. So configuring them is simple with `AddOrUpdate`, but then how do i delete it? I don't want to pollute my code with `RecurringJob.RemoveIfExists()` when that job has been deleted and then have to remember to delete it later. Is there a way to get a list of all recurring jobs and delete them when the server starts and so my code will re add them in every time? If not, if there a better way? e.g. Application version 1: Added new Hangfire recurring job `Do something 1` Application version 2: Added new Hangfire recurring jobs `Do something 2` and `Do Something 3` Application version 3: Removed Hangfire recurring job `Do something 2` Problem: the job will still exist on the server with error "Could not load type..." and needs to be deleted.