のデフォルトSQL Serverストレージを使用していますHangfire。1 日あたりのジョブ作成率は非常に高くなる可能性があるため (数十万件)、データベースのサイズも急速に増大します。
Succeeded最初は、仕事は1日で削除されるので、まだ大丈夫だと思っていました. 驚いたことに、数日経っても、その仕事はまだHangfire.Jobsテーブルから削除されていません。
2015 年 7 月 30 日にこのクエリを実行したとき:
select min(ExpireAt) from Hangfire.Job
where StateName = 'Succeeded'
を受け取りました2015-07-21 13:28:27.543。これは約 9 日前です。
自分でジョブを手動で削除するか、定期的にクリーンアップするバッチ ジョブを作成できますが、成功したジョブが ExpireAt を超えて保持されるシナリオはありますか?