记录 Hangfire 任务调度相关的配置
作者:互联网
使用Hangfire 作为任务调度程序,当任务执行太耗时 需要做一些配置,记录一下。。。。
使用Sql Server 数据库时:
var HangfireTest_ConnectionString = ConfigHelper.GetConn("HangfireTest").ConnectionString; var sqlServerStorageOptions = new SqlServerStorageOptions { QueuePollInterval = TimeSpan.FromSeconds(15), JobExpirationCheckInterval = TimeSpan.FromHours(1), CountersAggregateInterval = TimeSpan.FromMinutes(5), PrepareSchemaIfNecessary = true, DashboardJobListLimit = 50000, TransactionTimeout = TimeSpan.FromMinutes(30), };
使用内存存储数据时:
var memoryStorageOptions = new MemoryStorageOptions() { FetchNextJobTimeout = TimeSpan.FromMinutes(30), };
根据上面两个配置项:
GlobalConfiguration.Configuration .UseColouredConsoleLogProvider() .UseMemoryStorage(memoryStorageOptions); // UseSqlServer....
后台服务配置,超时配置:
var backgroundJobServerOptions = new BackgroundJobServerOptions() { ServerTimeout = TimeSpan.FromMinutes(30), StopTimeout = TimeSpan.FromMinutes(30), ShutdownTimeout = TimeSpan.FromMinutes(30), WorkerCount = 15, SchedulePollingInterval = TimeSpan.FromSeconds(10), HeartbeatInterval = TimeSpan.FromMinutes(15) };
using (var server = new BackgroundJobServer(backgroundJobServerOptions)) { //your jobs }
标签:30,15,TimeSpan,记录,Hangfire,FromMinutes,var,new,任务调度 来源: https://www.cnblogs.com/camefor/p/16189947.html