My ASP.NET Core 6 app shows this error very often:
Unable to update heartbeat on the resource 'HangFire:xxx'. The resource is not locked or is locked by another owner.
I believe this has to do with #68, and may be gone if that error is fixed.
But regardless of #68, if SQLiteDistributedLock cannot update the heartbeat because of that message, what's the point of keep retrying? I think the timer should be stopped in that case - or at the minimum, mute the error log so that it doesn't show up indefinitely in the logs.