用dag体
result = KubernetesPodOperator(
task_id=task_id,
name=task_name,
cmds=["pipenv", "run", "python3", "myscript.py"],
env_vars=env_vars,
image=image # docker image
)
字符串
在myscript.py
中,结果将是整数
def myfunction():
''' Perform a series of operations '''
return result
myfunction()
型
出于某种原因,我需要运行myscript.py
,它将返回dag所需的结果。使用env_vars
,数据将能够从dag脚本传递到myscript.py
,但是如何将数据传递回dag脚本呢?PS:我知道xcom
可以帮助任务之间的通信,但不确定它是否适用于这种情况
1条答案
按热度按时间yyhrrdl81#
KubernetesPodOperator处理XCom值的方式与其他运算符不同。为了从Pod传递XCom值,您必须将do_xcom_push指定为True。这将创建一个在Pod旁边运行的sidecar容器。Pod必须将XCom值写入/airflow/xcom/return. json路径中的该位置。
详情请参阅此