我想用Hangfire创建一个定期工作,但我想让它延迟并在特定日期开始。
例如,我将创建一个每周执行任务的工作,但我希望此任务在3天后启动!
在搜索之后,我无法找到可以同时执行延迟任务并使其同时重复出现的内容。
我刚刚开始使用hangfire,所以我没有太多使用它的经验。
答案 0 :(得分:2)
Hangfire提供了以这种方式创建定期工作的可能性:
RecurringJob.AddOrUpdate(
() => myRecurringJob(),
Cron.Daily);
然而,正如您所提到的,这不允许推迟第一次出现的日期。要解决此问题,我建议您使用预定作业稍后创建您的定期作业:
BackgroundJob.Schedule(() => myRecurringJobCreation(),
new DateTimeOffset(new DateTime(2017,2,10)));
//...
public void myRecurringJobCreation() {
RecurringJob.AddOrUpdate(
() => myRecurringJob(),
Cron.Daily);
}