2017-10-27 1 views
1

매주 화요일과 같이 선택한 요일에 매주 실행되는 주간 크론 표현식을 작성하려고합니다. 이와 함께 나는 모든 기능을 반복적으로 구현해야한다. 그래서 그 방아쇠는 매 간격마다 반복 해고 될 것입니다.매주 cron 표현식을 생성하고 매주마다 반복합니다.

예 : 간격 값이 2 인 경우 매주 월요일과 일주일에 한 번씩 일을해야합니다. 간격 값이 3이면 2 주 후에 매주 월요일에이 작업을 실행해야합니다.

이 기능은 일별 또는 월별로 쉽게 얻을 수 있지만 매주 경우에는 찾을 수 없습니다. 예. 일일 크론 (Cron for every) 3 간격으로 반복 3 0 0 12 1/3 *? *

답변

1

cron 표현식으로는이 작업을 수행 할 수 없습니다.

가장 좋은 방법은 당신이 트리거가 발생 할 주 간격 지정 WithCalendarIntervalSchedule() 방법을 사용하는 것입니다

 ITrigger trigger = TriggerBuilder.Create() 
      .WithIdentity("trigger1", "group1") 
      .StartNow() 
      .WithCalendarIntervalSchedule(
       scheduleBuilder => scheduleBuilder.WithIntervalInWeeks(3)) 
      .Build(); 

대신 StartNow()을, 당신은 또한 StartAt()를 사용해야하고, 할 수있는 방법을 찾을 것입니다 다음 주일의 날짜를 얻으십시오. (예 : Jon Skeet의 대답은 Datetime - Get next tuesday입니다.)

+0

2 일/여러 날을 예약 할 수 있습니까? 일주일에 요일을 지정하고 요일을 지정하십시오. –

+0

위의 솔루션을 사용하면 두 개의 다른 트리거를 만들어야합니다 (하나는 다음 주 월요일에 시작하고 다른 하나는 다음 수요일에 시작). – yorah

+0

https://stackoverflow.com/questions/47013626/scheduling-trigger-using-method-triggerbuilder-startatdatetime-datetime-causin에 대한 도움이 될 것입니다. –

0

http://www.cronmaker.com/ 예를 들어, 14 일마다 설정하면 도움이 될 수 있습니다.

+0

일일과 달리 매주 옵션이 없습니다. 매일 1 일마다 –

관련 문제