2014-03-04 2 views
1

quartz.net과 관련하여 몇 가지 질문이 있습니다.Quartz.net 추적 및 오작동

내가 Quartz.net에 불시의 상황이 있었는지 추적하는 것은 무엇입니까? 다음과 같은 경우에 어떻게됩니까

: 때문에 일부 버그 작업이 실행되는 경우

을 할 수 있지만, 핀란드어되지는 missfire 여부 등 그 수를합니까?

솔루션을 다시 게시하면 어떻게됩니까? 추적이 재설정됩니까?

스케줄러가 수행 한 작업과 수행 할 수없는 작업에 대한 정보를받을 수있는 방법이 있습니까?

나는 나의 실행 방법에 다음 코드를 가지고 :

IJobDetail dailyUserMailJob = new JobDetailImpl("DailyUserMailJob", null, typeof(Jobs.TestJob)); 


ITrigger trigger = TriggerBuilder.Create() 
        .WithIdentity("trigger1", "group1") 


        .WithCronSchedule("0 0 4 1 * ?", x => x.WithMisfireHandlingInstructionFireAndProceed()) 
        .Build(); 

     this.Scheduler.ScheduleJob(dailyUserMailJob, trigger); 

     this.Scheduler.Start(); 

작업이 오전 4시 매월 첫 번째 실행 예정이다.

테스트 할 때 작업 시계를 한 달 동안 놓치지 않도록 시스템 시계를 설정했습니다. 문서에 따르면 WithMisfireHandlingInstructionFireAndProceed를 사용하면 작업은 가장 먼저 발생하지만 실행됩니다. 코드에 문제가 있거나 WithMisfireHandlingInstructionFireAndProceed()를 사용할 때 작업이 실행되지 않는 다른 이유가있을 수 있습니까?

+0

RamStore (메모리) 또는 AdoStore가 있습니까? – granadaCoder

+0

Quartz가 RamStore를 ADOStore로 사용하는지 어떻게 알 수 있습니까? – MikeAlike234

답변

2

작업을 놓친 경우 다시 가져 오는 논리가 있습니다. 그러나, 다시 갈 길이에 대한 "창"이 있습니다.

<add key="quartz.jobStore.misfireThreshold" value="60000"/> 

이 값을 늘릴 수 있습니다.

ADOStore가있는 경우 실화가 지속됩니다. 따라서 "전원이 꺼지면"다시 시작할 때 ... 실화로부터 회복 할 수 있습니다.

RamStore가있는 경우 "전원이 꺼지면"모든 것이 메모리에 있습니다. 모든 것이 "메모리에 있음"과 메모리이므로 메모리가 잘못되었습니다. 분실되었다.

..

는 SQL 서버 (AdoStore)를 사용하고 그 위에 프로파일/추적을 두는 경우에, 당신은 ....... 실화의 엔진 "설문 조사"를 참조하십시오 "뒤로 이동과거야 지금까지는 "실화 임계 값을 기준으로합니다.

http://nurkiewicz.blogspot.com/2012/04/quartz-scheduler-misfire-instructions.html

더 자세한 정보를 원하시면 :

은이 링크를 참조하십시오. "withMisfireHandlingInstructionFireAndProceed"메모가 있습니다.

+0

감사합니다. 쿼츠가 ADOStore och RamStore를 사용하는지 어떻게 알 수 있습니까? – MikeAlike234

+1

둘 중 하나를 사용하도록 구성합니다. 기본값 (아마 추측)은 아마도 RamStore (메모리) 일 것입니다. 이 질문에 대한 내 ~ 대답 ~을 확인하여 작동하는 AdoStore를 확인하십시오. http://stackoverflow.com/questions/22047254/connecting-quartz-to-ms-sql-server – granadaCoder

+0

web.config 파일에 넣으시겠습니까? – MikeAlike234