2014-11-25 3 views
2

봄용 mvc 애플리케이션을 개발 중입니다. 나는 아래를 통과 한봄에 스케쥴러 구현하기 (사용자 정의)

http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html#scheduling-annotation-support-scheduled

  • http://www.mkyong.com/spring-batch/spring-batch-and-spring-taskscheduler-example/
  • 예약하는 방법에 대한이 가이드

    1. 를 연결합니다.

      하지만 사용자 (일정/주간 단위로 실행)를 GUI에 제공해야합니다.

      아무도 내가 이것을 어떻게 달성 할 수 있습니까?

    +0

    예약하려는 항목은 무엇입니까? 이게 더 오래 일하니? –

    +0

    일종의 사전 정의 된 작업/작업으로 간주하십시오. 난 그냥 사용자가 실행할 때 그것을 예약 싶습니다. 그리고 작업은 5 분으로 작을 수도 있고 4 시간 정도 쯤 될 수도 있습니다. –

    답변

    1

    사용자가 여러 작업을 예약한다고 가정합니다.

    작업 이름에 대해 열거 형을 정의하고 열거 형으로 작업을 실행할 주자를 정의합니다. 매초 (분, 시간)에 실행될 작업을 정의하십시오. 작업은 실행될 사용자의 작업이 있는지 여부를 확인합니다.

    이제 사용자는 다음과 같은 PARAMS 아 파크 등의 작업을 정의 TaskType (열거 형 값) TaskTime (이것은 예를 들어 시작해야 할 때 12시) TaskPeriod (이 호출 빈도)

    TaskTime 및 TaskPeriod 예를 들어 합류 할 수있다. cron 식으로.

    그러면 모든 작업 정보가 어딘가에 저장됩니다 (예 : DB).

    영구적 인 매초마다 실행될 작업이 있는지 DB에서 읽습니다. 작업 시간과 작업 시간을 확인하고 현재 시간과 비교합니다. 시작할 시간이되면 열거 형 값을 가져와 열거 형에 대한 Runner의 메서드를 호출합니다.

    +0

    나는 너의 대답을 정말로 좋아한다. 감사. –

    2

    link을 확인하십시오. 프로퍼티 파일에 크론 (crone) 표현식을 부여하여 태스크를 스케줄하는 방법을 설명합니다.

    다른 해결책은 quartz 라이브러리를 직접 사용하는 것입니다. 이를 사용하여 작업을 쉽게 예약하거나 일정을 변경할 수 있습니다. this을 참조하십시오.

    희망이 도움이 될 것입니다.

    +1

    답장을 보내 주셔서 감사합니다. 서버 시작시 값을 지정합니다. 하지만 내 요구 사항은 사용자가 런타임에 타이밍을 설정할 수 있으며 동일한 작업을 여러 번 예약 할 수 있다는 것입니다. –

    +0

    @scheduled 주석으로는 불가능하다고 생각합니다. 쿼츠 라이브러리를 사용한다면 쉽게 작업 일정을 변경할 수 있습니다. – shintoZ

    +0

    정보/링크를 제공해 주시겠습니까? –

    관련 문제