每 8 天在 Hangfire 中执行一个循环作业

Execute a recurring job in Hangfire every 8 days

是否可以在 Hangfire 中创建一个在给定天数(比如 8)后执行的循环作业。

我找到的最接近的是每周执行一次作业 -

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

了解到 Hangfire 也接受标准 CronExpression,我尝试探索此频率的 cron 表达式,但找不到适合它的 - https://en.wikipedia.org/wiki/Cron

一个丑陋的解决方案可能是创建 3 或 4 个作业,相应地每月在某些日期执行一次,但我不想那样做。

请提出任何建议。

最后,我像这样使用 CronExpression 来安排一个周期性工作,频率为每 8 天或任意天数。

string cronExp = "* * */8 * *";
RecurringJob.AddOrUpdate("MyJob",() => ScheduledJob(), cronExp);

CronExpression 中的第三段代表月份中的第几天。

各段如下-(参考:https://en.wikipedia.org/wiki/Cron

更简洁的解决方案是使用 Cron.DayInterval(interval).

对于你的情况,它将是

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