【问题标题】:Hangfire - How does it handle last couple of days of the month?Hangfire - 它如何处理本月的最后几天?
【发布时间】:2016-04-21 01:59:36
【问题描述】:

我有一个用户界面,用户可以在其中选择他们希望在每个月的哪一天接收电子邮件。如果他们选择 31 号会发生什么? Hangfire 如何处理只有 30 天或 2 月的日子?

谢谢!

【问题讨论】:

    标签: hangfire recurring-events


    【解决方案1】:

    以防万一有人回到这一点 - 当他们迁移到 Chronos 以提供循环 CRON 表达式支持时,Hangfire 1.7 中解除了此限制。

    【讨论】:

    • Cron 表达式如下所示:0 0 L * *
    【解决方案2】:

    据此issue 称,Hangfire 无法将任何工作安排在当月的最后一天。

    Hangfire 使用 NCrontab,不支持 # 或 L

    你最好的选择(目前)是:

    • 手动安排多个作业(使用日历计算一个月的最后一天或其他方法计算一个月中的天数)
    • 不使用 Hangfire(使用在 cron 类型调度方面更有能力的东西)

    FluentScheduler 确实支持LastDayOfTheMonth

    Schedule(() => Console.WriteLine("This task will run at last day of every month."))
            .ToRunEvery(1)
            .Months()
            .OnTheLastDay();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-06
      • 2020-08-29
      相关资源
      最近更新 更多