使用 asp.net 形式的 hangfire 创建计划(延迟)重复作业
Create Schedule(Delayed) Recurring job using hangfire in asp.net forms
我想用 Hangfire 创建一个循环作业,但我希望它延迟并在特定日期开始。
例如,我将创建一个每周执行一项任务的工作,但我希望此任务在 3 天后开始!
经过搜索,我找不到既可以执行延迟任务又可以使其同时重复出现的东西。
我今天才开始使用 hangfire,所以还没有太多使用经验。
Hangfire 提供了以这种方式创建重复性工作的可能性:
RecurringJob.AddOrUpdate(
() => myRecurringJob(),
Cron.Daily);
但是,正如您所提到的,这不允许推迟第一次发生的开始日期。要解决此问题,我建议您稍后使用计划作业来创建您的循环作业:
BackgroundJob.Schedule(() => myRecurringJobCreation(),
new DateTimeOffset(new DateTime(2017,2,10)));
//...
public void myRecurringJobCreation() {
RecurringJob.AddOrUpdate(
() => myRecurringJob(),
Cron.Daily);
}
我想用 Hangfire 创建一个循环作业,但我希望它延迟并在特定日期开始。
例如,我将创建一个每周执行一项任务的工作,但我希望此任务在 3 天后开始!
经过搜索,我找不到既可以执行延迟任务又可以使其同时重复出现的东西。
我今天才开始使用 hangfire,所以还没有太多使用经验。
Hangfire 提供了以这种方式创建重复性工作的可能性:
RecurringJob.AddOrUpdate(
() => myRecurringJob(),
Cron.Daily);
但是,正如您所提到的,这不允许推迟第一次发生的开始日期。要解决此问题,我建议您稍后使用计划作业来创建您的循环作业:
BackgroundJob.Schedule(() => myRecurringJobCreation(),
new DateTimeOffset(new DateTime(2017,2,10)));
//...
public void myRecurringJobCreation() {
RecurringJob.AddOrUpdate(
() => myRecurringJob(),
Cron.Daily);
}