作为记录,我将回答我自己的问题。
一种解决方案是使用两个移位触发器,其时间等于您要设置的提醒时间:
//Let's set a recurrent task, starting 10 seconds from now, and firing every 20 seconds, with a 5 seconds reminder.
DateTime startTime = DateTime.UtcNow.AddSeconds(10);
SimpleTrigger remindertrigger = new SimpleTrigger("reminderTrigger",
null,
startTime.AddSeconds(-5), //Reminder time shift
null,
SimpleTrigger.RepeatIndefinitely,
TimeSpan.FromSeconds(20));
SimpleTrigger strigger = new SimpleTrigger("taskTrigger",
null,
startTime,
null,
SimpleTrigger.RepeatIndefinitely,
TimeSpan.FromSeconds(20));
您现在可以将这些触发器附加到两个作业。
另一种解决方案是仅为提醒设置触发器,并在触发器 Execute 方法中为任务创建作业。