Это ожидаемое поведение.
Вы сообщаете своему триггеру каждый день в полночь, чтобы он не стрелял сейчас ... если вы не запускаете его в полночь.
Я думаю, вам нужно создать 2 триггера, чтобы достичь того, чего вы хотите.
Вы можете проверить, когда триггер планируется запустить с помощью этого кода:
private static void GetNextXFireTimes(ITrigger trigger, int counts)
{
var dt = trigger.GetNextFireTimeUtc();
for (int i = 0; i < (counts-1); i++)
{
if (dt == null)
{
break;
}
Console.WriteLine(dt.Value.ToLocalTime());
dt = trigger.GetFireTimeAfter(dt);
}
}
и вы можете назвать это после того, как вы запланировали ваша работа:
Scheduler.ScheduleJob(job, trigger);
GetNextXFireTimes(trigger, 100);
и вы должны увидеть что-то например:
18/09/2015 00:00:00 +01:00
19/09/2015 00:00:00 +01:00
20/09/2015 00:00:00 +01:00
21/09/2015 00:00:00 +01:00
22/09/2015 00:00:00 +01:00
23/09/2015 00:00:00 +01:00
24/09/2015 00:00:00 +01:00
25/09/2015 00:00:00 +01:00
26/09/2015 00:00:00 +01:00
27/09/2015 00:00:00 +01:00
28/09/2015 00:00:00 +01:00
29/09/2015 00:00:00 +01:00
30/09/2015 00:00:00 +01:00
01/10/2015 00:00:00 +01:00