4
我有一臺安裝了Hangfire的服務器。我還沒有檢查過一段時間,似乎有一個經常性的工作流氓。它停止工作,然後堆積了重試,看起來完全鎖定。如何安全地將Hangfire重置爲乾淨狀態?
我想清除我的數據庫並重新開始。我可以刪除所有表格中的數據,還是應該刪除表格並讓Hangfire爲我重新創建它們?我是否冒這樣做冒險?
Hangfire.State使用整個Azure Basic數據庫2GB的空間。
我有一臺安裝了Hangfire的服務器。我還沒有檢查過一段時間,似乎有一個經常性的工作流氓。它停止工作,然後堆積了重試,看起來完全鎖定。如何安全地將Hangfire重置爲乾淨狀態?
我想清除我的數據庫並重新開始。我可以刪除所有表格中的數據,還是應該刪除表格並讓Hangfire爲我重新創建它們?我是否冒這樣做冒險?
Hangfire.State使用整個Azure Basic數據庫2GB的空間。
我最終刪除了表格,起初查詢根本不起作用,它只是繼續前進而什麼也沒有發生。然後我使用了TRUNCATE TABLE [HangFire].[State]
,這一切都像一個魅力後。下面是我用Hangfire 1.5.6
與UseSqlServerStorage
腳本:
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
但不要忘了他們下探後再次添加外鍵。順便說一句,最好更新到最新的[1.6.5](https://www.nuget.org/packages/Hangfire/),自從你的版本爲Hangfire.Core和Hangfire以來,有很多修正。 SqlServer不要面對這樣的問題。 – odinserj