How can I safely reset Hangfire to a clean state?

I have a server with Hangfire installed. I have not tested this for a while, and it seems that one repetitive job has become fraudulent. It stopped working, and then formed with repeated attempts, which led to a complete block, it seems.

I would like to clear my database and start over. Can I just delete the data from all the tables or should I delete the tables and let Hangfire recreate them for me? Am I doing anything by doing this?

Hangfire.State using the entire Azure Basic database 2 GB of space. enter image description here

+7
source share
2 answers

, , , , . TRUNCATE TABLE [HangFire].[State], . script, 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
+20

TRUNCATE TABLE [HangFire].[AggregatedCounter]
TRUNCATE TABLE [HangFire].[Counter]
TRUNCATE TABLE [HangFire].[JobParameter]
TRUNCATE TABLE [HangFire].[JobQueue]
TRUNCATE TABLE [HangFire].[List]
TRUNCATE TABLE [HangFire].[State]
DELETE FROM [HangFire].[Job]
DBCC CHECKIDENT ('[HangFire].[Job]', reseed, 0)
UPDATE [HangFire].[Hash] SET Value = 1 WHERE Field = 'LastJobId'

( )

, , - , - .

0

Source: https://habr.com/ru/post/1657367/


All Articles