ハングファイア コンソールを使用して 1 年以上ハングファイアを使用していますが、一部のテーブルには期限切れのジョブからの古い情報が含まれているようです
Set テーブルをクリーンアップするスクリプトをいくつか作成しましたが、正しくないようです。何百万ものレコードがありました。
declare @total int = 0
declare @count int = 1
while(@count>0)
begin
delete from [HangFire].[Set] where [key] in (
SELECT top 10000 [key]
FROM [HangFire].[Set]
left join hangfire.job on job.Id = SUBSTRING([Key], 19, LEN([Key]) - 19)
WHERE [Key] LIKE 'console:%'
and job.id is null
)
set @count = @@ROWCOUNT
set @total = @total + @count
print @total
end
また、テーブル Hash にも数百万のレコードがあります。
ジョブが成功した後にこれらのレコードをすべて削除するための hangfire の構成を見逃したのでしょうか?
これは私のデータベースのサイズで、3,000 ジョブでほぼ 2GB です
