记录 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

}    

 

posted @   rhyswang  阅读(462)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示