.Net Hangfire延长超时作业(默认30分钟),重复执行问题
在Hangfire中的定时任务,当job执行超过30分钟就会重复执行,导致浪费资源、数据不准确等等

解法
MemoryStorage
context.Services.AddHangfire(options =>
{
options.UseSimpleAssemblyNameTypeSerializer()
.UseRecommendedSerializerSettings()
.UseStorage(new MemoryStorage(new MemoryStorageOptions
{
FetchNextJobTimeout = TimeSpan.FromHours(2), // 设置超时重试时间
}));
});
UsePostgreSqlStorage
options.UsePostgreSqlStorage(
postgresOptions => postgresOptions.UseNpgsqlConnection(connectionString),
new PostgreSqlStorageOptions()
{
InvisibilityTimeout = TimeSpan.FromHours(2) // 设置超时重试时间
}
);

浙公网安备 33010602011771号