2012-08-12 5 views
0

서비스 사서함의 전자 메일을 처리하기 위해 Microsoft Exchange WebServices (EWS)를 사용하는 C# 4.0으로 작성된 Windows 서비스가 있습니다. 전자 메일은 읽히고 일부 데이터는 일부 조건에 따라 oracle 데이터베이스에 삽입됩니다.Windows 서비스 처리 시간 문제

Windows 서비스는 5 분마다 실행되도록 예약됩니다. 나는 Quartz.Net API를 사용하여 5 분 동안 미세하게 트리거를 설정하고있다.

나는 질문이있다. 지금 서비스를 시작하고 전자 메일을 처리하는 중 5 분이 소요됩니다. 5 분마다 실행하도록 예약 했으므로 어떻게됩니까?

5 분짜리 일정으로 인해 시작된 이전 프로세스와 새로 시작한 프로세스가 두 가지 프로세스로 실행됩니까?

+0

당신이 '두 개의 프로세스'가 무엇을 의미합니까? Quartz.Net API를 사용하여 1 개의 서비스가 실행 중입니까? – devundef

+0

예. 제 질문은, 5 분 간격에 도달하고 이전 간격이 아직 처리중인 경우 어떻게됩니까? 동일한 이메일을 다시 처리하거나 프로세스가 완료되고 새로 시작될 때까지 기다릴 것입니다 – acadia

답변

0

작업 클래스가 IStatefulJob 인터페이스를 구현하지 않는 한, Quartz는 작업이 동시에 실행되도록 을 실행합니다.. 즉, 해당 인터페이스를 사용자 작업 클래스에 구현하지 않으면 트리거가 서로 중첩됩니다.

// implement the interface and all will be fine. 
public class MyJob: IStatefulJob 
{ 
    .... 
} 

출처 : http://quartznet.sourceforge.net/apidoc/1.0/html/topic142.html

+0

도움을 주셔서 감사합니다. – acadia