인프런 커뮤니티 질문&답변

jihoon님의 프로필 이미지
jihoon

작성한 질문수

Airflow 마스터 클래스

Python Operator에서 Xcom 사용

"Python Operator에서 Xcom 사용" 강의 질문

작성

·

165

·

수정됨

0

안녕하세요.

강의 잘 듣고 있습니다.

 

"Python Operator에서 Xcom 사용" 강의에서 task flow가

python_xcom_push_by_return = xcom_push_result()
xcom_pull_2(python_xcom_push_by_return)
python_xcom_push_by_return >> xcom_pull_1()

이렇게 되고, 그래프가

 

python_xcom_push_by_return -> xcom_pull_2

python_xcom_push_by_return -> xcom_pull_1

 

이렇게 그려지는데,

 

이 경우 처리도 병렬적으로 되나요?

아니면 그래프만 저렇게 나오고 실제 동작은

파이썬 동작하는 것처럼 윗줄이 먼저 실행되어서 실제로는

python_xcom_push_by_return -> xcom_pull_2 -> xcom_pull_1

이렇게 실행이 되나요??

 

 

답변 1

1

김현진님의 프로필 이미지
김현진
지식공유자

안녕하세요 jihoon 님

오랜만이네요 ^^

 

답변부터 드리자면 병렬로 실행됩니다. 혹시 실행할 때 너무 빨리 지나가서 잘 못봤다면

xcom_push_result() 함수 부분에 아래처럼 sleep 을 이용해서 잠깐 멈춰보세요.

import time
time.sleep(5)  

그러면 xcom_push_result 가 끝나고 뒤에 있는 두 개의 Task가 동시에 실행되는 걸 볼 수 있을겁니다.

 

jihoon님의 프로필 이미지
jihoon

작성한 질문수

질문하기