digdag sla/fail/error/wait에 대한 메모
3457 단어 TreasureDatadigdag
sla
파라미터로 약간 빠졌기 때문에 메모.sla란?
문서 와 같지만, 일정 시간이 지나거나 지정된 시간을 초과한 경우에 경고를 날릴 수 있습니다.
여기도 문서에 기재되어 있습니다만, fail:
옵션으로 workflow 를 실패로 할 수가 있습니다.
* sla: parameter supports duration: HH:MM:SS syntax in addition to time: HH:MM:SS syntax.
* sla: parameter supports fail: BOOLEAN and alert: BOOLEAN options. Setting fail: true makes the workflow failed. Setting alert: true sends an notification using above notification mechanism.
실제로 해보자
내가 빠져 포인트를 알기 쉽도록 실제로 움직여 보겠습니다.
다음과 같은 워크플로를 정의합니다.
내용으로서는 td_wait_table>
로 테이블을 기다리는 것 뿐입니다.
SLA는 10초로 설정되어 있으며 fail: false
입니다.
수동으로 워크플로를 실행한 후 10초 후에 대상 테이블을 만들었습니다.
sample.digsla:
duration: 00:00:10
fail: false
alert: false
+notice:
echo>: sla alert!!
+wait:
td_wait_table>: tdwf_wait
_error:
echo>: error!!
실행 결과
10초 이상 경과했기 때문에, +notice
로 정의한 내용이 실행되고 있습니다.
SLA가 초과되었지만 테이블이 작성되었으므로 성공적으로 종료되었습니다.
그런 다음 fail: true
와 같은 방법으로 실행해 보겠습니다.
실행 결과
마찬가지로, 10초 이상 경과했기 때문에, +notice
로 정의한 내용이 실행되고 있습니다.
SLA가 초과되었지만 태스크는 계속 실행되고 테이블을 작성할 때 td_wait_table이 정상 종료로 끝나지만 이 태스크 자체의 상태는 실패합니다.
그 때문에, _error
로 정의한 내용도 실행되고 있는 것을 알 수 있습니다.
개인적으로 착각하고 있던 점으로서 fail: true
로 하면(자) SLA를 넘은 시점에서 종료한다고 생각했습니다만, 그렇지 않습니다.
그런 다음 테이블을 만들지 않고 도중에 취소 (kill) 해보십시오.
취소는 td_wait_table이나 s3_wait에서 24시간 이상 기다려도 존재하지 않는 경우에 발생합니다.
실행 결과
작업의 상태 자체가 취소되었으므로 실패합니다.
여기서 주목하고 싶은 것은 _error
로 정의한 내용이 실행되지 않는다고 하는 것입니다.
지정한 SLA를 초과한 경우는 +notice
로 정의한 내용을 실행할 수 있습니다만, wait의 태스크로 24시간을 넘어도 대상이 존재하지 않는 경우는 주의입니다.
요약
* sla: parameter supports duration: HH:MM:SS syntax in addition to time: HH:MM:SS syntax.
* sla: parameter supports fail: BOOLEAN and alert: BOOLEAN options. Setting fail: true makes the workflow failed. Setting alert: true sends an notification using above notification mechanism.
내가 빠져 포인트를 알기 쉽도록 실제로 움직여 보겠습니다.
다음과 같은 워크플로를 정의합니다.
내용으로서는
td_wait_table>
로 테이블을 기다리는 것 뿐입니다.SLA는 10초로 설정되어 있으며
fail: false
입니다.수동으로 워크플로를 실행한 후 10초 후에 대상 테이블을 만들었습니다.
sample.dig
sla:
duration: 00:00:10
fail: false
alert: false
+notice:
echo>: sla alert!!
+wait:
td_wait_table>: tdwf_wait
_error:
echo>: error!!
실행 결과
10초 이상 경과했기 때문에,
+notice
로 정의한 내용이 실행되고 있습니다.SLA가 초과되었지만 테이블이 작성되었으므로 성공적으로 종료되었습니다.
그런 다음
fail: true
와 같은 방법으로 실행해 보겠습니다.실행 결과
마찬가지로, 10초 이상 경과했기 때문에,
+notice
로 정의한 내용이 실행되고 있습니다.SLA가 초과되었지만 태스크는 계속 실행되고 테이블을 작성할 때 td_wait_table이 정상 종료로 끝나지만 이 태스크 자체의 상태는 실패합니다.
그 때문에,
_error
로 정의한 내용도 실행되고 있는 것을 알 수 있습니다.개인적으로 착각하고 있던 점으로서
fail: true
로 하면(자) SLA를 넘은 시점에서 종료한다고 생각했습니다만, 그렇지 않습니다.그런 다음 테이블을 만들지 않고 도중에 취소 (kill) 해보십시오.
취소는 td_wait_table이나 s3_wait에서 24시간 이상 기다려도 존재하지 않는 경우에 발생합니다.
실행 결과
작업의 상태 자체가 취소되었으므로 실패합니다.
여기서 주목하고 싶은 것은
_error
로 정의한 내용이 실행되지 않는다고 하는 것입니다.지정한 SLA를 초과한 경우는
+notice
로 정의한 내용을 실행할 수 있습니다만, wait의 태스크로 24시간을 넘어도 대상이 존재하지 않는 경우는 주의입니다.요약
fail: true
작업이 중단되지는 않습니다 fail: true
의 유스 케이스는 있을까. .비고
Reference
이 문제에 관하여(digdag sla/fail/error/wait에 대한 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/skryoooo/items/7dbde4468db52a01f7bb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)