c# - 如何安全地将 Hangfire 重置为干净状态?

标签 c# sql-server hangfire

我有一台安装了 Hangfire 的服务器。我已经有一段时间没有检查过了,似乎有一项经常性的工作出了问题。它停止工作,然后重试堆积起来,导致看起来完全锁定。

我想清除我的数据库并重新开始。我可以只删除所有表中的数据,还是应该删除表并让 Hangfire 为我重新创建它们?我这样做会冒任何风险吗?

Hangfire.State 使用整个 Azure Basic 数据库 2GB 的空间。 enter image description here

最佳答案

我最终删除了表,起初查询根本不起作用,它一直在继续,什么也没发生。然后我使用了 TRUNCATE TABLE [HangFire].[State] 之后一切都像魅力一样。这是我用于 Hangfire 1.5.6UseSqlServerStorage 的脚本:

GO
PRINT N'Dropping [HangFire].[FK_HangFire_State_Job]...';


GO
ALTER TABLE [HangFire].[State] DROP CONSTRAINT [FK_HangFire_State_Job];


GO
PRINT N'Dropping [HangFire].[FK_HangFire_JobParameter_Job]...';


GO
ALTER TABLE [HangFire].[JobParameter] DROP CONSTRAINT [FK_HangFire_JobParameter_Job];


GO
PRINT N'Dropping [HangFire].[Schema]...';


GO
DROP TABLE [HangFire].[Schema];


GO
PRINT N'Dropping [HangFire].[Job]...';


GO
DROP TABLE [HangFire].[Job];


GO
PRINT N'Dropping [HangFire].[State]...';


GO
DROP TABLE [HangFire].[State];


GO
PRINT N'Dropping [HangFire].[JobParameter]...';


GO
DROP TABLE [HangFire].[JobParameter];


GO
PRINT N'Dropping [HangFire].[JobQueue]...';


GO
DROP TABLE [HangFire].[JobQueue];


GO
PRINT N'Dropping [HangFire].[Server]...';


GO
DROP TABLE [HangFire].[Server];


GO
PRINT N'Dropping [HangFire].[List]...';


GO
DROP TABLE [HangFire].[List];


GO
PRINT N'Dropping [HangFire].[Set]...';


GO
DROP TABLE [HangFire].[Set];


GO
PRINT N'Dropping [HangFire].[Counter]...';


GO
DROP TABLE [HangFire].[Counter];


GO
PRINT N'Dropping [HangFire].[Hash]...';


GO
DROP TABLE [HangFire].[Hash];


GO
PRINT N'Dropping [HangFire].[AggregatedCounter]...';


GO
DROP TABLE [HangFire].[AggregatedCounter];


GO
PRINT N'Dropping [HangFire]...';


GO
DROP SCHEMA [HangFire];


GO
PRINT N'Update complete.';


GO

关于c# - 如何安全地将 Hangfire 重置为干净状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39973447/

相关文章:

c# - 扩展方法是否类似于在 c# 中具有 "new"关键字方法?

sql-server - SQL Server 2000 和 SQL Server 2005 中的触发器行为 : any change?

sql - 运行缓慢的sql查询

asp.net-mvc - 每天在特定时间进行Hangfire定期性工作

c# - virtual、abstract、override 关键字的排序

时间:: string to ulong conversion keeping precision

c# - Web 服务器获取客户端机器的 MAC 地址

c# - 一段时间内 foreach 循环的奇怪行为 READ()

asp.net-core - 使用应用程序洞察跟踪 hangfire 后台作业

c# - 如何强制 Hangfire 现在处理队列?