inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Airflow 마스터 클래스

Pool 설정하기

scheduled slot의 개수도 제한이 있나요?

288

휘뚜루마뚜루

작성한 질문수 2

0

예전에 airflow를 쓰면서 DAG의 task가 스케쥴에 따라서 실행되지 않았던 적이 있습니다. 실행될 시간인데 scheduled상태로도 들어가지 않고 아예 사라졌다가 한참 후에 다시 scheduled되어서 중간에 실행되지 않는 시간이 많이 생겼습니다.

 

당시에는 pool의 slot수를 늘리니 해결이 되긴 했습니다. 그런데 강의에 따르면 slot수에 scheduled는 영향을 주지 않는 것으로 이해가 됐습니다.

혹시 scheduled도 따로 slot개수를 가지게 되는건가요?

 

p.s. 그때는 몰랐지만 airflow가 너무 자주 실행하는 경우에는 적합하지 않다는 거는 알게된 경험이었습니다. 당시 스케쥴은 1분마다 실행시키는 DAG들을 많이 만들었거든요

python 데이터-엔지니어링 airflow

답변 1

0

김현진

안녕하세요 휘뚜루마뚜루님!

 

pool의 크기와 scheduled slot의 크기는 상관이 없습니다.

즉 pool 크기를 10으로 지정하더라도 scheduled slot은 100개 또는 1000개 이상 쌓일 수 있습니다.

scheduled slot의 limit이 몇 인지는 문서에 나와있지 않으나 unlimit 일거라 생각됩니다.

 

아마 당시 1분짜리 스케줄을 많이 만들었을 때 제대로 수행되지 않은 것은 scheduler의 부하로 인해 trigger를 놓쳤을 가능성이 높습니다. 저도 그런 경험이 있는데 당시 1분 주기 dag이 매 분 돌지 않고 간헐적으로 연속 2회 혹은 3회 누락되는 현상을 본 적이 있습니다. 그래서 강의 도입부에서 airflow는 실시간 처리 혹은 분 단위 처리 등에는 적합하지 않다고 말씀드린 거에요 ^^

결국.. pool의 제한 때문보다는 스케줄러가 queue를 제때 하지 못하지 않았나 추정합니다. 혹시 강의 후반부에 있는 airflow 메타테이블 보기 강의를 들으셨을까요? 메타 테이블 중 dag_run 테이블은 dag별로 스케줄러가 queue한 시간이 나옵니다. 분명 돌아야 하는 시간인데 queue한 기록이 없다면 스케줄러가 누락했을 수 있습니다. 1분 간격 dag은 종종 그런 일이 생기죠.

꼭 1분 간격으로 실행해야 한다면 5분마다 도는 dag을 1분씩 어긋나게 5개를 만드는 식으로 해결은 할 수 있는데 cron 스케줄을 아래처럼 만들면 됩니다.

0-59/5 * * * *

1-59/5 * * * *

2-59/5 * * * *

3-59/5 * * * *

4-59/5 * * * *

 

동일한 로직을 가지되 스케줄만 저렇게 다르게 가진 dag을 만들어서 해결할 순 있어요.

궁금증이 해결되었을까요? ^^

pykrx 회원제 전환으로 인한 실습 불가

0

104

2

수료증 발급

0

79

3

에러 발생 관련 질문드립니다.

0

77

2

vscode 작업화면에 오류가 발생하지 않습니다.

0

68

2

plugins 폴더 생성

0

73

2

WSL에서 git push 가 안되요 ㅠ

0

108

2

chatGPT&Airflow로 블로그 자동 포스팅하기 는 Deprecated 가 필요합니다.

0

65

2

github에 회원가입이 안되는데 원인이 뭔지 모르겠어요 ㅠ

0

705

2

설치중인데 venv를 꼭 써야할까요?

0

119

2

설치 버전 관련 질문입니다.

0

66

1

우분투 버전 다운받아야하는데 어떤걸로 설치해야할까요?

0

60

1

DAG 만들기 중 airflow 패키지 로드 에러

0

104

2

3.0에서도 수업노트가 성립하는지 확인 부탁드립니다!

0

94

3

task_id 사용법이 뭔가 바뀐 것 같습니다.

0

75

3

email operator 오류 관련

0

63

2

plugins 폴더 관련

0

91

2

bash operator 관련 문의입니다

0

77

3

스케쥴러 - DAG 파싱 부하 줄이는 과정 질문

0

78

2

Dags refresh 주기 관련 질문

0

123

2

wsl 관련 질문입니다.!

0

72

2

macOS에서 docker 설치

0

92

2

템플릿 변수에 대한 오류

0

58

2

custom_image 디렉토리 문의드립니다.

0

51

2

ETL 인터뷰 관련 문의

0

100

2