2015-09-15 6 views

ответ

1

Это ожидаемое поведение.

Вы сообщаете своему триггеру каждый день в полночь, чтобы он не стрелял сейчас ... если вы не запускаете его в полночь.

Я думаю, вам нужно создать 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 

 Смежные вопросы

  • Нет связанных вопросов^_^