参数说明:
 centos系统是7.9版本的
 hangfire是Hangfire 1.8.7
 centos系统的目前设置时区是cts的东八时区,截图如下
 
原因:
 hangfire任务设定每天执行时间+东八=实际偏移的执行时间
 比如:你设定的是早上6点执行+东八=实际下午两点执行
解决方法:
var job = service.GetService<CommonJobs>();
RecurringJob.AddOrUpdate("每日定时请求的服务", () => job.GetToDayNews(), CronType.TodaySix(6), TimeZoneInfo.FindSystemTimeZoneById("Asia/Shanghai"));//周期性为每天早上6点
重点是:TimeZoneInfo.FindSystemTimeZoneById("Asia/Shanghai")
效果截图如下:
 
附带:解释其中CronType.TodaySix(6)的代码如下:
 /// <summary>
 /// 周期性为每天早上6点
 /// </summary>
 /// <param name="interval">周期性为每天早上6点</param>
 /// <returns></returns>
 public static string TodaySix(int interval = 6)
 {
     return "0 0 " + interval.ToString() + " * * ?";
 }












![[图解]DDD领域驱动设计伪创新-通用语言01](https://img-blog.csdnimg.cn/direct/592e9334762f4b1dbbad0ee164c841ba.png)






