1

我现在使用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 个作业

数据库大小

4

0 回答 0