2013-09-28 3 views
0

안녕하세요 저는 1 시간마다 실행되는 작업을 예약하고 싶습니다.예약 1 시간마다 실행되는 작업

하지만 작업에 소요되는 시간은 다소 "무작위"로 30 분이 걸릴 수도 있고 1 시간 15 분이 걸릴 수도 있습니다. 한 번에 하나의 작업 만 실행해야합니다.

나는 작업을 실행할 수 있고 싶습니다. 시간 간격이 경과하면 작업이 직접 실행됩니다. 시간이 경과하지 않으면 시간이 완료 될 때까지 기다립니다.

가장 좋은 방법은 무엇입니까?

필자는 FluentScheduler를 살펴보기 시작했지만 설명 된 시나리오로 일정을 구성 할 수 없습니다.

+4

Windows 스케줄러를 사용할 수 없습니까? 그렇지 않으면 Quarz.NET을 볼 수 있습니다. – Styxxy

+2

첫 번째 작업에 * 1h15min *이 걸리는 경우 다음 작업을 언제 시작해야합니까? –

+2

BTW : * "이 작업을 수행하는 가장 좋은 방법은 무엇입니까?"* 질문 유형은 항상 미소를 지어줍니다. 너는 일하는 길 *을 가지지 않고, * 최선 *을 요구한다. –

답변

0

유용한 의견을 주셔서 감사합니다. Quartz.NET을 탐색하여 강력한 스케줄러 인 것으로 보입니다.

각 작업 사이에 1 시간 간격으로 실행되는 작은 (하나의 작업) "스케줄러"를 관리했습니다. 내가 TPL.Dataflow을 사용하고

, 여기에 내가 그 매우 깨지기 알고 내 코드

TransformBlock<int, int> block = new TransformBlock<int, int>(i => 
{ 
    //Thread.Sleep(5000); 
    DoSomething(); 
return i + 1; 
}); 

block.LinkTo(block); 
block.Post(0); 

입니다하지만 일을 할 것입니다. 의견을 보내 주셔서 감사합니다! 나는 더 많은 가능성을 모색 할 것이다.

관련 문제