NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 사용자가 설정한 시간에 스크립트를 실행하는 방법. (시작 시간, 타이머 틱 등록, 예약 작업 액션 등록)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 사용자가 설정한 시간에 매크로가 실행되게 하는 방법은 여러가지가 존재합니다. 시작 시간 액션과 [ 타이머 틱 등록 ] 액션 그리고, [ 예약 작업 등록 ] 액션이 있습니다. 이 액션들은 설정한 시간에 스크립트를 실행합니다. 이 예제를 테스트하기 위해 아래와 같이 엔지엠 에디터를 실행하고, 새로운 스크립트를 추가하세요.

    cnOuw3h.gif

     

     

    1. 시작 시간

    시작 시간은 매인 스크립트에 등록한 후 설정한 날짜와 시간이되면 서브 스크립트가 실행되는 방식입니다. 날짜와 시간을 선택해야 하기 때문에 한번만 수행됩니다. 또한, 설정한 시간이 될 때가지 매인 스크립트는 멈춰있게 됩니다. 기본적으로 동기적으로 수행되는 액션입니다. 예제에 사용되는 서브 스크립트는 아래와 같습니다.

    IbI146F.gif

     

     

    도구 상자 > 시간 > 시작 시간 액션을 추가하세요. 위의 서브 스크립트 "타이머 예제.ngs"를 선택하고, 날짜와 시간을 설정하세요. 그리고, 실행을 누르면 아래와 같이 설정한 시간에 서브 스크립트가 동작하는걸 확인할 수 있습니다.

    HCxcHgA.gif

     

     

    이번에는 매인 스크립트과 같이 동작하는 방법을 알아볼건데요. 아래와 같이 매인 스크립트에서 반복하도록 스크립트를 구성 해줍니다. 시작 시간의 비동기 옵션이 False이므로, 서브 스크립트가 정해진 시간에 실행된 후 매인 스크립트가 작동됩니다.

    DMI1RiA.png

     

     

    스크립트를 실행하면, 매인 스크립트가 멈춰 있고, 시작 시간이 될 때 서브 스크립트가 실행됩니다. 서브 스크립트가 완료되면 매인 스크립트가 실행됩니다.

    loneCYC.gif

     

     

    매인과 서브가 동시에 설정한 시간에 실행되도록 하려면 아래와 같이 비동기 옵션을 True로 설정하세요. 그리고, 다시 실행해보세요. 아래 동영상처럼 서브 스크립트가 실행되면서 매인도 [ 그룹 ] 액션들과 [ 액션 이동 ] 액션이 같이 실행되는 걸 확인할 수 있습니다. 비동기 옵션은 매인과 서브 스크립트가 각각 동작하도록 해줍니다.

    V1eRZ0q.gif

     

     

    2. 타이머 틱 등록

    [ 타이머 틱 등록 ] 액션과 [ 예약 작업 등록 ] 액션은 시작 시간 액션과 다르게 각각 타이머 틱 삭제와 [ 예약 작업 삭제 ] 액션이 존재합니다. 이 둘은 별도의 메모리에 예약을 걸어놓고 매인 스크립트는 실행되는 방식입니다. 그리고, 시작 시간 액션과 차이점은 등록된 틱 또는 스케줄(예약)에 따라 무한 반복된다는 점입니다. 그렇기 때문에 각각 등록된 틱과 예약을 삭제하기 위한 액션이 별도로 존재합니다. 아래 그림을 참고해서 타이머 틱 등록 액션을 시작 시간 액션 아래에 추가하세요. 그리고, 시작 시간 액션의 체크 박스는 풀어주세요.

    y2QfFy8.png

     

     

    타이머 틱 등록 액션의 아이디는 "5초 틱"으로 설정 해줍니다. 그리고, 하단의 실행 간격을 5000(5초)으로 설정하세요. 이 액션은 실행 간격에 설정한 시간마다 틱(Tick)을 발생시킵니다. 다시 말해서 5초마다 서브 스크립트를 반복해서 실행한다는 뜻입니다.

    CAyvrO7.png

     

     

    매인 스크립트가 실행되면서 5초마다 서브 스크립트가 실행되는걸 확인할 수 있습니다. 여기서 중요한 점은 비동기 옵션이 False이기 때문에 서브 스크립트가 실행될 때 매인 스크립트는 멈춘다는 것입니다. 그리고, 서브 스크립트가 완료되면 매인 스크립트가 다시 실행됩니다.

    jdoKCJy.gif

     

     

    비동기를 True로 설정하면 서브 스크립트 실행 여부와 관계없이 매인은 계속해서 실행됩니다. 비동기 TrueFalse의 차이점을 잘 이해해야 합니다.

    w76eQVr.gif

     

     

    3. 예약 작업 등록

    예약 작업 등록은 크론탭(Crontab)을 사용하여 좀 더 막강한 스케줄러를 구현할 수 있습니다. 방식은 타이머 틱 등록과 동일합니다. 다만, 단순한 실행 주기가 아닌 복합적인 작업을 가능하게 해줍니다. 크론탭은 아래와 같이 설정할 수 있습니다. 마지막 요일에서 0과 7은 일요일입니다. 1부터 월요일입니다.

    *           *           *            *           *           *
    초(0-59)    분(0-59)    시간(0-23)   일(1-31)    월(1-12)    요일(0-7)

    XqKXWoE.png

     

     

    크론탭이 다소 복잡해 보일 수 있지만, 몇가지 규칙만 알면 누구나 쉽게 스케줄러를 작성할 수 있습니다. 아래는 매초 실행되는 스케줄러입니다.

    * * * * * *

     

    매분 실행하려면 아래와 같이 작성합니다.

    0 * * * * *

     

    매주 금요일 오전 5시 45분 30초에 실행되는 스크립트입니다.

    30 45 5 * * 5

     

    매일 매시간 20분 간격으로 실행되는 스크립트입니다. (매일 매시간 0분, 20분, 40분)

    0 0,20,40 * * * *

     

    매일 1시 0분부터 30분까지 매분 실행되는 스크립트입니다.

    0 0-30 1 * * *

     

    매 10분마다 실행되는 스크립트입니다.

    0 */10 * * * *
    
    # 또 다른 방법
    0 0,10,20,30,40,50 * * * *

     

    이제 조금 복잡하게 응용 해볼까요? 5일에서 6일까지 2시,3시,4시에 매 10분마다 스크립트를 실행합니다.

    0 */10 2,3,4 5-6 * *

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.