Over the last week, of 1174 recurring jobs, 585 jobs decided not to run. Their next execution all say some variable number of days in the past.
I ran this query
select top 1000 [key], convert(datetimeoffset, value) at time zone ‘Pacific Standard Time’ from hangfire.hash
where field = ‘NextExecution’
and convert(datetimeoffset, value) <= sysdatetimeoffset()
And identified the 585. I’m not sure what happened, everything was fine for over a year. Last time it was related to the time change, but I’m fairly sure that wasn’t what happened this time as its been over a month (though its possible some failed and more and more began failing.
Here is an example
This has been running great since 2017, and hundreds of other tasks are running just fine.
What is the best way to fix these jobs purely via SQL? (code would be a poor way to fix this as there are so many different areas of code that created these jobs that it would be difficult to recreate without doing it by hand)