请以任何方式知道如何设置每28天运行一次的定期后台工作。这项工作应该基于28天而不是本月的28天运行。这是我目前的实施。
string CropExpression = "0 20 */28 * * ";
RecurringJob.AddOrUpdate(() => _chargesJob.ChargeCustomerAccountMonthly(account.Id),CropExpression);
这个当前的实现在每个月的28日运行,这对我的应用程序来说并不理想。我想要实现的是28天应该根据当前的日期时间来计算。 例如,如果Datetime.now = 2018/3/15,则定期作业应从该日期开始计算,并在下个月开始计算,直至达到28天。
答案 0 :(得分:0)
您可以简单地设置延迟28天的工作。然后,当此作业执行时,设置另一个作业,延迟28天。
有关详细信息,请参阅http://docs.hangfire.io/en/latest/background-methods/calling-methods-with-delay.html。
但基本的想法是:
public void Schedule()
{
BackgroundJob.Schedule(
() => {
DoYourActualWork();
Schedule();
},
TimeSpan.FromDays(28));
}
答案 1 :(得分:0)
你可以使用这样的东西
BETWEEN