Airflow 中文文档:常见问题
为什么我的任务没有安排好?
您的任务可能无法安排的原因有很多。 以下是一些常见原因:
- 您的脚本是否“编译”,Airflow引擎是否可以解析它并找到您的DAG对象。 要对此进行测试,您可以运行
airflow list_dags
并确认您的DAG显示在列表中。 您还可以运行airflow list_tasks foo_dag_id --tree
并确认您的任务按预期显示在列表中。 如果您使用CeleryExecutor,您可能需要确认这既适用于调度程序运行的位置,也适用于工作程序运行的位置。 - 包含DAG的文件是否在内容的某处包含字符串“airflow”和“DAG”? 在搜索DAG目录时,Airflow忽略不包含“airflow”和“DAG”的文件,以防止DagBag解析导入与用户的DAG并置的所有python文件。
- 你的
start_date
设置正确吗? 在传递start_date + scheduler_interval
之后,Airflow调度程序会立即触发任务。 - 您的
schedule_interval
设置正确吗? 默认schedule_interval
是一天(datetime.timedelta(1)
)。 您必须直接为实例化的DAG对象指定不同的schedule_interval
,而不是default_param
,因为任务实例不会覆盖其父DAG的schedule_interval
。 - 您的
start_date
超出了在UI中可以看到的位置吗? 如果将start_date
设置为3个月之前的某个时间,您将无法在UI的主视图中看到它,但您应该能够在Menu -> Browse ->Task Instances
看到它。 - 是否满足任务的依赖性。 直接位于任务上游的任务实例需要处于
success
状态。 此外,如果已设置depends_on_past=True
,则上一个任务实例需要成功(除非它是该任务的第一次运行)。 此外,如果wait_for_downstream=True
,请确保您了解其含义。 您可以从Task Instance Details
页面查看如何设置这些属性。 - 您需要创建并激活DagRuns吗? DagRun表示整个DAG的特定执行,并具有状态(运行,成功,失败,…)。 调度程序在向前移动时创建新的DagRun,但永远不会及时创建新的DagRun。 调度程序仅评估
running
DagRuns以查看它可以触发的任务实例。 请注意,清除任务实例(从UI或CLI)确实将DagRun的状态设置为恢复运行。 您可以通过单击DAG的计划标记来批量查看DagRuns列表并更改状态。 - 是否达到了DAG的
concurrency
参数?concurrency
定义了允许DAGrunning
任务实例的数量,超过这一点,事物就会排队。 - 是否达到了DAG的
max_active_runs
参数?max_active_runs
定义允许的DAGrunning
并发实例的数量。
您可能还想阅读文档的“计划程序”部分,并确保完全了解其进度。
如何根据其他任务的失败触发任务?
查看文档“概念Trigger Rule
部分中的“ Trigger Rule
部分
安装airflow [crypto]后,为什么连接密码仍未在元数据db中加密?
查看文档“配置”部分中的“ Connections
部分
阅读全文/改进本文
Airflow 中文文档:常见问题相关推荐
- Airflow 中文文档:概念
Airflow Platform是用于描述,执行和监控工作流的工具. 核心理念 DAG的 在Airflow中, DAG (或定向非循环图)是您要运行的所有任务的集合,以反映其关系和依赖关系的方式进行组 ...
- Airflow 中文文档:数据分析
使用数据生产效率的一部分是拥有正确的武器来分析您正在使用的数据. Airflow提供了一个简单的查询界面来编写SQL并快速获得结果,以及一个图表应用程序,可以让您可视化数据. 临时查询 adhoc查询 ...
- Airflow 中文文档:API 参考
运营商 运算符允许生成某些类型的任务,这些任务在实例化时成为DAG中的节点. 所有运算符都派生自BaseOperator ,并以这种方式继承许多属性和方法. 有关更多详细信息,请参阅BaseOpera ...
- Airflow 中文文档:时区
默认情况下启用对时区的支持. Airflow在内部和数据库中以UTC格式存储日期时间信息. 它允许您使用时区相关的计划运行DAG. 目前,Airflow不会将其转换为用户界面中的最终用户时区. 它始终 ...
- Airflow 中文文档:用Dask扩展
DaskExecutor允许您在Dask分布式群集中运行Airflow任务. Dask集群可以在单个机器上运行,也可以在远程网络上运行. 有关完整详细信息,请参阅分布式文档 . 要创建集群,首先启动调 ...
- Airflow 中文文档:用Celery扩大规模
CeleryExecutor是您扩展工人数量的方法之一. 为此,您需要设置Celery后端( RabbitMQ , Redis ,-)并更改airflow.cfg以将执行程序参数指向CeleryExe ...
- Airflow 中文文档:管理连接
Airflow需要知道如何连接到您的环境. 其他系统和服务的主机名,端口,登录名和密码等信息在UI的Admin->Connection部分中处理. 您将创作的管道代码将引用Connection对 ...
- Airflow 中文文档:集成
反向代理 Azure:Microsoft Azure AWS:亚马逊网络服务 Databricks GCP:Google云端平台 反向代理 可以在反向代理后面设置气流,并能够灵活地设置其端点. 例如, ...
- Airflow 中文文档:安全
默认情况下,所有门都打开. 限制对Web应用程序的访问的一种简单方法是在网络级别或使用SSH隧道执行此操作. 但是,可以通过使用其中一个提供的后端或创建自己的后端来打开身份验证. 请务必查看Exper ...
最新文章
- Flink从入门到精通100篇(十五)-Flink SQL FileSystem Connector 分区提交与自定义小文件合并策略 ​
- AI学习---卷积神经网络
- [转]memset用法详解
- 来谈谈JAVA面向对象 - 鲁班即将五杀,大乔送他回家??
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]40一般来说SPA和DPA的区别是什么
- Error running ‘transmission‘: Unable to open debugger port (127.0.0.1:52469): java.net.SocketExcepti
- bug--Unable to add window –token is not valid; is your activity running?
- 前端新人如何有效地提高自己
- python编程八年级_8年级Python编程课程期中反思
- 用开源组件jcaptcha做jsp彩色验证码
- Android Tips – 填坑手册
- 编译与运行ORB-SLAM的问题:1、unistd.h 2、virtual memory exhausted 3、internal compiler error 4、共享文件夹设置
- 凌晨3点回去后的想法
- 计算机接口cad图,贴片机CAD图纸
- 计算机取消右键粘贴,复制粘贴文件后鼠标右击取消粘贴功能的简单方法介绍
- 开发一个套crm系统软件需要多少钱
- 文献调研——存算一体的一些基础知识
- ad19电气规则检查_AD19中PCB设计常用规则-电气规则设置
- chmod +s权限升级小结
- UV法测量cod原理及特点
热门文章
- 安卓python安装库_如何快速在安卓上搭建python3环境
- 安卓程序运行后控件不显示_智能镜子显示屏掀起了智能家居行业的新潮流
- MRC522(1):卡片ID号的读写
- 【数电】(二) 基本逻辑运算与逻辑门电路
- 彻底学会Spring的IOC和AOP——理论+实操
- 总结-最全linux工具的使用
- Java的echo_简单的Java echo服务器问题
- java复习系列[2] - Java多线程
- java序列化kr_序列化专用列表
- ultraedit教程java_Java开发工具配置UltraEdit基础教程