我能够使用Hangfire记录每两周的工作,
if (vm.ReportInterval == 14)
{
reportFrequency = Cron.DayInterval(14);
}
这正在起作用,并且正在执行应做的事情。
但是我想要的是在特定日期开始工作,然后每14天重复一次。
本质上,需要将第二个参数传递给cron.DayInterval。
示例(不支持此示例):
if (vm.ReportInterval == 14)
{
reportFrequency = Cron.DayInterval(14,new DateTime(2018,17,05));
}
我查看了Cron类,但它没有受支持的方法:
在Hangfire上还有其他课程可以做这项工作吗?
另一种方法是每周做一次,然后
但是,如果有更好的方法,我真的不希望那样走。
答案 0 :(得分:2)
您需要创建一个看起来像这样的RecurringJob:
RecurringJob.AddOrUpdate<IExportService>(
"Export data",
x => x.ExportToEmail(),
"0 0 0 1/14 * ? *");
重要的一点是最后一个参数,它是一个cron表达式,它表示:
Run this job At 00:00:00am, every 14 days starting on the 1st, every month
如果您要创建另一个cron表达式,建议使用此在线生成器:
https://www.freeformatter.com/cron-expression-generator-quartz.html