我现在使用hangfire 一年多了,带有hangfire 控制台,有些表似乎有旧信息,来自过期的工作
我创建了一些脚本来清理 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 上的一些配置以删除所有这些记录?
这是我的数据库的大小,大约 2GB 用于 3k 个作业