[컴] Azkaban 에서 Schedule Flow 등록 방법

howto schedule flow / add schedule / 아즈카반 스케쥴 추가 방법 / 잡 스케쥴 / 예약 / 배치 / batch /

Azkaban 에서 Schedule Flow 등록 방법

절차

  1. Projects
  2. --> 프로젝트 선택
  3. --> Flows tab 의 Execute Flow button 클릭
  4. --> Execute Flow popup 에서 Schedule 버튼 클릭
  5. --> 팝업
  6. --> 스케쥴 정하고, Schedule 버튼 틀릭

schedule 등록시 failure option 설정방법

schedule execution 에서는 기본적으로 Failure Option 이 Failure Current Running 이다. 위 3번째 링크에서는 schedule execution 을 추가할 때 Failure option을 Finish All Possible 로 설정하는 꼼수를 알려주는 듯 하다.

대략 훑어보면, Azkaban 의 API 를 이용하는 툴인 eboshi 를 이용해서 schedule 을 추가할 때는 failure option 을 변경해서 등록할 수 있는 듯 하다.

이 ‘eboshi’ 를 훑어보면, Azkaban API 자체에서 Failure Option 을 설정할 수 있도록 지원하는 듯 하다. 다음은 azkaban web ui 에서 schedule 을 등록할 때 발생하는 request 이다. request parameter 에 failureAction=finishCurrent 이 존재하고 있다. 그래서 web ui 에서 전송시점에 잘 변경하던지, azkaban api 로 schedule 을 추가할 때 option 으로 failureAction 을 주면 될 듯 하다.

curl 'http://localhost-azkaban.com/schedule' --compressed -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' -H 'X-Requested-With: XMLHttpRequest' --data-raw 'projectId=32&project=dev-test-sjima&ajax=scheduleCronFlow&flow=basic&disabled=%5B%5D&failureEmailsOverride=false&successEmailsOverride=false&failureAction=finishCurrent&failureEmails=namh%40userhabit.io&successEmails=&notifyFailureFirst=false&notifyFailureLast=false&concurrentOption=skip&projectName=dev-test-sjima&cronExpression=0+0+2+%3F+*+*+'

api 를 이용한 add schedule

아래의 curl 를 이용해서 finishPossible 옵션을 가진 job 을 schedule 에 추가할 수 있었다.

curl -k -d ajax=scheduleCronFlow -d projectName=my-projec-name -d flow=my-flow-name -d failureAction=finishPossible --data-urlencode cronExpression="0 23/30 5 ? * *" -b "azkaban.browser.session.id=xxxxxxxxxxxx" http://localhost:8443/schedule

Failure options

Screenshots




Reference

  1. Using Azkaban — Azkaban documentation

댓글 없음:

댓글 쓰기