首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >气流测试模式xcom pull/push不工作

气流测试模式xcom pull/push不工作
EN

Stack Overflow用户
提问于 2019-11-15 18:36:51
回答 2查看 1.2K关注 0票数 0

我尝试通过airflow cli test命令测试两个任务`

第一个任务运行时,auto将最后一个控制台推送到xcom,我在airflow GUI中看到了预期的值some value

当我通过airflow cli test命令运行第二个任务时,我只是得到了None作为返回值,但正如我在这里读到的:How to test Apache Airflow tasks that uses XCom它应该工作,至少xcom_push是明显工作的,为什么不是xcom_pull?

有人给出了如何让它工作的提示吗?Provide context设置为true。

示例代码:

代码语言:javascript
复制
t1 = BashOperator(
    task_id='t1',
    bash_command='echo "some value"',
    xcom_push=True,
    dag=dag
)

t2 = BashOperator(
    task_id='t2',
    bash_command='echo {{ ti.xcom_pull(task_ids="t1") }}',
    xcom_push=True,
    dag=dag
)

谢谢!

编辑:当我在没有测试模式的情况下运行代码(DAG)时,xcom_pull工作正常

EN

回答 2

Stack Overflow用户

发布于 2019-11-24 21:41:25

据我所知,"test“运行时不会将任何内容保存到元数据数据库中,这就是为什么当您运行puller任务时,结果是"None”,而当您实际运行DAG代码时,它可以正常工作。

您可以在测试第一个任务后直接查询元数据数据库来验证这一点。

票数 0
EN

Stack Overflow用户

发布于 2021-04-23 16:29:35

这里似乎缺少上下文,以及xcom_push=True,我们需要使用provide_context=True

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58875195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档