Asp.net mvc UTC时间内的Hangfire CRON
我正在尝试从每天00:00开始在MVC应用程序中配置定期任务。我知道这可以通过Asp.net mvc UTC时间内的Hangfire CRON,asp.net-mvc,cron,hangfire,Asp.net Mvc,Cron,Hangfire,我正在尝试从每天00:00开始在MVC应用程序中配置定期任务。我知道这可以通过RecurringJob.AddOrUpdate(()=>Console.Write(“Easy!”),Cron.Daily)实现。 现在我的问题是,hangfire cron是基于UTC时间还是服务器上的本地时间工作的。如果它在当地时间工作,有没有办法在UTC时间运行?我必须这样做,因为这将是一个日终流程,所有计划的任务都是基于我数据库中的世界时安排的。要在UTC时区执行作业,您可以在定义作业时提供TimeZoneI
RecurringJob.AddOrUpdate(()=>Console.Write(“Easy!”),Cron.Daily)实现代码>。
现在我的问题是,hangfire cron是基于UTC时间还是服务器上的本地时间工作的。如果它在当地时间工作,有没有办法在UTC时间运行?我必须这样做,因为这将是一个日终流程,所有计划的任务都是基于我数据库中的世界时安排的。要在UTC
时区执行作业,您可以在定义作业时提供TimeZoneInfo
作为TimeZoneInfo.UTC
RecurringJob.AddOrUpdate(() => Console.Write("Easy!"), Cron.Daily, TimeZoneInfo.Utc);
要在本地时区执行作业,可以使用TimeZoneInfo.local
在特定时区而不是UTC运行,请查找所需的TimeZoneInfo
。任务将在午夜运行
var manager = new RecurringJobManager();
manager.AddOrUpdate("some-id", Job.FromExpression(() => Method()),
Cron.Daily(),
TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"));