3

저는 quartz.net 및 cron 표현식에 새로운 것이므로 매월, 매주 및 매일 실행해야하는 C# dotnet 응용 프로그램에서 quartz.net 스케줄러를 만들어야합니다. 데이터베이스에서 가져 오는 값에 대한월간, 주간 및 매일에 대한 Quartz.Net Cron 식

스케줄링 세부 사항이있는 테이블.

Id EffectiveDate StartTime Frequency 
1 2012-04-22  20:55  Daily  
2 2012-04-22  10:12  Weekly  
3 2012-04-22  17:00  Daily 
4 2012-04-23  02:15  Monthly 
5 2012-04-26  18:30  Daily   
6 2012-04-27  11:45  Weekly 

이 문제를 해결하는 데 도움을주세요.

답변

3

user1301587 @ 희망 당신은 앞으로 방법 발견,하지만 난 당신의 질문은 여전히 ​​내가 가서 나는이 할 것입니다 방법에 대한 몇 가지 사이비 코드를 추가 할 것입니다 구글에 매우 높은 나타 것으로 나타났습니다 :

  1. 하여 데이터 소스에서 일정 가져 오기 일정 의 목록을
  2. 반복 처리를 (귀하의 경우에 RDBMS 데이터베이스 테이블 모양)과 일정 CronScheduleBuilder의 인스턴스를 구축 :

    문자열 cronExpressio N = 및 String.format ("{0} {1} {2} {3} {4} {5}" secondPart, minutePart, hourPart, dayOfMonthPart, monthPart, dayOfWeekPart );

    IScheduleBuilder scheduleBuilder = CronScheduleBuilder 
           .CronSchedule(cronExpression) 
           .InTimeZone(TimeZoneInfo.Utc); 
    

일예 크론 식 0 26 6 * *?은 매일 오전 6:26에 일을합니다. 시간대를 지정하지 않으면 Quartz가 현재 시간대를 기준으로 UTC 시간으로 지정된 시간을 가져 오는 변환을 적용합니다.

지금 당신은 위의 건설 일정과 트리거를 구축 할 수 있습니다하십시오 Quart.Net 스타일 수식을 만들려면

ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create() 
       .WithIdentity("TestTrigger") 
       .WithSchedule(scheduleBuilder) 
       .Build(); 

사용 THIS 사이트를