【问题标题】:Hangfire CRON in UTC timeUTC 时间的 Hangfire CRON
【发布时间】:2016-11-11 23:22:10
【问题描述】:

我正在尝试在每天 00:00 开始在我的 MVC 应用程序中配置重复任务。我知道这可以通过RecurringJob.AddOrUpdate(() => Console.Write("Easy!"), Cron.Daily); 来实现。 现在我的问题是 hangfire cron 是否基于 UTC 时间或服务器的本地时间工作。如果它在当地时间运行,有没有办法在 UTC 时间运行它?我必须这样做,因为这将是一天结束的过程,并且所有计划的任务都是根据我数据库中的通用时间安排的。

【问题讨论】:

    标签: asp.net-mvc cron hangfire


    【解决方案1】:

    要在UTC 时区执行作业,您可以在定义作业时将TimeZoneInfo 提供为TimeZoneInfo.Utc

    RecurringJob.AddOrUpdate(() => Console.Write("Easy!"), Cron.Daily, TimeZoneInfo.Utc);
    

    要在本地时区执行作业,您可以使用TimeZoneInfo.Local

    【讨论】:

      【解决方案2】:

      要在特定时区而不是 UTC 中运行,请查找您想要的 TimeZoneInfo。该任务将在午夜运行。

      var manager = new RecurringJobManager();
      manager.AddOrUpdate("some-id", Job.FromExpression(() => Method()),
          Cron.Daily(),
          TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-24
        • 2022-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多