코드를 반복적으로 실행할 수있는 Windows 작업 스케줄러는 얼마나 신뢰할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/722678

문제

Windows Server 2003 컴퓨터에 앉아 매 순간 실행 해야하는 코드가 약간 있습니다.

이것을 처리하는 권장 방법은 무엇입니까? 콘솔 서비스로 디자인하고 작업 스케줄러가 순간에 맞게 도착하게해도 괜찮습니까? (가능합니까?) 그냥 빨아 내고 Windows 서비스로 써야합니까?

도움이 되었습니까?

해결책

1 분마다 실행해야하므로 Windows 서비스를 작성하는 것이 좋습니다. 그것은 그다지 복잡하지 않으며, 전에는 한 번도 해본 적이 없다면 그것이 어떻게 수행되는지 배우는 것이 좋을 것입니다.

매 순간 예정된 작업을 호출하는 것은 내가 추천하는 것이 아닙니다.

다른 팁

나는 그것을 빨고 Windows 서비스로 씁니다. 예정된 작업이 매우 신뢰할 수있는 것으로 밝혀지지 않았으며 실행되지 않을 때는 아직 그렇지 않은 이유를 쉽게 찾을 수있는 방법을 찾지 못했습니다.

Windows Scheduled Tasks는 우리의 목적에 따라 상당히 신뢰할 수 있으며 설치가 쉽고 고급 복구 기능으로 인해 Windows 서비스보다 거의 모든 경우에 유리합니다. Windows 서비스의 특성은 항상 Windows 서비스에 문제가 될 수 있습니다. 작성된 코드의 일부가 발생하지 말아야 할 코드가 잠겨 있거나 반복되는 경우 일반적으로 코드를 작성하면 코드를 작성합니다. 이와 비슷한 패션

Init();
Run();
CleanUp();

그런 다음 예정된 작업의 일환으로 프로세스가 실행할 수있는 시간에 시간 제한을두고 더 오래 실행되면 프로세스를 죽일 수 있습니다. 예약 된 작업에 문제가있는 코드가 있다면 다음 순간에 프로세스가 시작됩니다.

매분마다 실행해야한다면 Windows 서비스로 빌드합니다. 나는 일일 작업보다 적은 일에 스케줄러를 사용하지 않을 것입니다.

나는 그것이 무엇을하고 있는지에 달려 있다고 말하지만 일반적으로 나는 항상 가장 적은 층을 갖는 것을 선호합니다. 콘솔 서비스로 작성하고 작업 스케줄러를 사용하는 경우 앞으로 유지할 두 곳이 있습니다.

Windows 서비스로 작성하면 문제가 발생할 경우 확인할 장소가 적습니다.

예정된 서비스 도움말을 검색하는 동안 나는 아주 좋은 Jon Galloway의 기사.

예약 작업에 Windows 서비스를 사용하는 경우 다양한 당뇨병이 있습니다. 나는 그것에 동의했다. 구현이 간단하고 간단한 작업을 사용하는 것이 좋습니다. 참조하십시오 작업 스케줄러 구현에 대한 자세한 정보. 이 정보가 구현 접근법을 마무리하는 데 도움이되기를 바랍니다.

고려해야 할 유일한 점은 직업에 어떤 종류의 데이터베이스 상호 작용이 포함되면 데이터베이스가 제공하는 통합/스케줄링 서비스를 살펴 보는 것을 고려하십시오.

예를 들어, SQL Server 관련 서비스를위한 SSIS 패키지를 만드는 것은 과잉처럼 보일 수 있지만 환경과 잘 통합 될 수 있으며 자체 로깅/오류 검사 메커니즘이 이미 제자리에있을 수 있습니다.

나는 콘솔 실행 파일조차 만들고 매 순간마다 실행되도록 예약하려는 노력의 낭비라는 데 동의합니다. 나는 같은 것을 탐구하는 것이 좋습니다 quartz.net. 그렇게하면 간단한 작업을 만들고 매 순간 실행하도록 예약 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top