Windows 서비스에서 작업 예약을 위해 Quartz를 사용하고 있습니다. 서비스가 중지되거나 사용자가 작업 실행 빈도를 변경할 때 스케줄러를 종료해야합니다. 실행중인 작업을 기다리고 싶기 때문에
scheduler.Shutdown(true);
두 경우 모두 예외가 발생합니다.
Quartz.UnableToInterruptJobException : 'myJob'작업은 Quartz.IInterruptableJob을 구현하지 않기 때문에 중단 될 수 없습니다.
실행중인 서비스를 중지 할 수 없으며 이는 매우 나쁩니다.
그러나 작업 중단은 작업이 완료 될 때까지 기다리지 않는다는 것을 의미합니까? 그래서 내가 원하는 게 아니야? 현재 예외 문제를 해결할 수 있지만.
shutdown
충돌을 일으키지 않는 올바른 구현은 무엇입니까 ?
정말 IInterruptableJob을 구현해야한다면 어떻게해야합니까? 나는 그것에 대한 튜토리얼을 찾지 못했고 표준 종료와 다른 것을하고 싶지 않습니다. 스케줄러 생성을 위해 표준 스케줄러 팩토리를 사용하고 있습니다.
schedulerFactory = new StdSchedulerFactory();
scheduler = schedulerFactory.GetScheduler();
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다