ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

.Net Hangfire延长超时作业(默认30分钟),重复执行问题

.Net Hangfire延长超时作业(默认30分钟),重复执行问题

在Hangfire中的定时任务,当job执行超过30分钟就会重复执行,导致浪费资源、数据不准确等等

image

解法

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) // 设置超时重试时间}
);
返回列表