我們使用BackgroundJobServerOptions.WorkerCount = 1運行hangfire單線程(因爲我們有一個有序處理請求)。Hangfire 1.3.4 - 刪除的作業卡在隊列中
大多數情況下,這是沒有問題的,但偶爾有一個工作因完全預期的原因被卡住(例如,它運行的實際代碼進入無限循環),但因爲我們運行的是單線程,從開始的隊列中。
爲了試圖解決這個問題,我們刪除的作業,但後來它停留在隊列中,從開始阻止任何其他的工作:
我已經找到了解決的唯一途徑這是放棄並重新創建顯然不是很好的hangfire數據庫。
爲什麼在hangfire中刪除正在運行的作業而不是將其從隊列中刪除?這是不是奇怪的刪除行爲是一個錯誤,要在更高版本中修復,或者這是設計中的行爲,因爲我們正在運行單線程?
如果這是由設計決定的,那麼如何取消處理作業以將其從隊列中移除?