【问题标题】:Run a recurring background job every 28DAYS IN RESPECTIVE of the month每月每 28 天运行一次重复的后台作业
【发布时间】:2018-03-21 17:56:01
【问题描述】:

我正在构建一个应用程序,我希望每 28 天触发一次后台作业。我当前的实现基于当月计算 28 天。

ReccuringJOb.AddorUPdate(()=>methodcall, "0 20 */28 **")。 该作业在每个月的 28 天晚上 8 点运行。但我更想实现的是,例如,如果用户今天创建了一个帐户,其加入日期为 DAtetime.now,重复作业应根据加入日期计算 28 天,而不是根据当前月份计算 28 天。

【问题讨论】:

    标签: .net hangfire


    【解决方案1】:

    您可以使用 Cron.DayInterval(interval)

    举例

    RecurringJob.AddOrUpdate("MyJob",() => ScheduledJob(), Cron.DayInterval(28));
    

    【讨论】:

    • 还是同样的问题。我希望这项工作在每个月每 28 天执行一次。您当前的实施目前在每个月的 28 日运行
    • DayInterval(28) 将以每 28 天为频率安排一次重复作​​业。 DayInterval(28) 将返回 CronExpression "* * */28 * *"。您可以阅读en.wikipedia.org/wiki/Cron#CRON_expression 中的 Slash 部分以了解有关表达式如何工作的更多信息
    • 这正是我的观点。我想要实现的是这个。假设您有一项工作需要每 28 天运行一次,并且该工作于 2018 年 3 月 25 日开始运行,那么 28 天应该从该确切日期开始计算。您当前的实施(我已经有相同的问题)将在每个月的 28 日运行该工作,这意味着该工作将在 3 天内开始,这不是我想要的。这项工作应该在 2018 年 4 月 24 日运行
    猜你喜欢
    • 2018-08-23
    • 1970-01-01
    • 2014-04-12
    • 2015-11-28
    • 2014-08-14
    • 2012-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多