2013-06-03 3 views
1

이것은 일종의 Quartz.NET - Shouldn't this unit test pass?과 관련이 있지만 정확하게는 아닙니다.Quartz.NET을 UTC로 강제 실행 하시겠습니까?

GMT-4와 GMT-7의 서버가 있습니다. 둘 다 Quartz.NET v2.1.2.400을 사용합니다.

0 0 5,12,17 * * ? 

그러나, 하나 개의 서버가 다른 서버 이전 작업이를 실행 : 나는 두 서버가이 크론 문자열을 사용하여, GMT에 따라 (약간의 허용 오차 이내) 같은 시간에 같은 일을 할 필요가있다. 둘 다 동기화가 필요합니다. 아래 코드를 사용하고 있습니다. 나는 Quartz가 내부적으로 GMT에서 시간/스케줄을 계산하지만 외부 적으로는 localtime을 수행한다고 생각한다. 항상 GMT가되기를 원합니다. 어떻게해야합니까?

나의 현재 코드는 다음과 같습니다

var trigger = new CronTriggerImpl(mytriggername) { CronExpressionString = cronString }; 
var job = new JobDetailImpl(jobName, jobType); 
Quartz.ScheduleJob(job, trigger); 

감사합니다.

답변

2

CronTrigger의 Java 구현에는 setTimeZone 메서드가 있고 .NET 구현에는 TimeZone 속성이 있습니다.

그런 다음 두 일치 항목의 트리거에 대한 표준 시간대를 UTC로 설정할 수 있습니다.

물론 NTP 등을 사용하여 컴퓨터의 서버 시계가 어떤 방식으로 동기화되는 경우에만 작동합니다.

관련 문제