매일 오전 2시에 이벤트를 트리거하는 System.Timer 설정이 있습니다. 타이머가 시작되는 프로세스가 실패하면 프로세스가 성공적으로 완료 될 때까지 타이머 을 15 분마다 다시 실행 시키려고합니다.Interval 속성이 변경된 경우의 System.Timer 동작
// this is how the timer is set up.
// this is working correctly.
double startTime = milliseconds_of_hour_to_start.
Timer = new System.Timers.Timer(startTime);
다음은 이벤트 처리기의 성공 또는 실패시 타이머를 재설정하는 코드입니다. 참고 타이머가 중지되지 않고 Interval 속성 만 다시 설정됩니다.
if (ProcessSuccess)
{
Timer.Interval = TimeSpan.FromHours(24).TotalMilliseconds;
}
else
{
Timer.Interval = TimeSpan.FromMinutes(15).TotalMilliseconds;
}
제 질문은 프로세스가 실패한 경우 4 번 말한 다음 타이머가 이제 약 3AM에서 실행됩니까? 즉, 실패한 후 2AM의 원래 시작 시간은 15 분으로 향상됩니까?
향후 구현을 위해 http://quartznet.sourceforge.net/을 살펴볼 가치가 있습니다. 필자는 항상 기존 라이브러리를보고 스스로 재사용 할 수 있기를 선호합니다. –