Airflow TimeDeltaSensor因操作数类型不受支持而失败

标签 airflow

在我的DAG中,我使用以下命令创建了一个 TimeDeltaSensor :

from datetime import datetime, timedelta
from airflow.operators.sensors import TimeDeltaSensor 
wait = TimeDeltaSensor(
    task_id='wait',
    delta=timedelta(seconds=300),
    dag=dag
)

但是,当它运行时,我得到了错误

  • Subtask: [2018-07-13 09:00:39,663] {models.py:1427} ERROR - unsupported operand type(s) for +=: 'NoneType' and 'datetime.timedelta'


enter image description here

Airflow 版本为1.8.1。

该代码基本上是从Example Pipeline definition删除的,所以我对问题可能是什么一无所知。有任何想法吗?

最佳答案

在链接的源代码中,有一行对我来说很有趣:

target_dttm = dag.following_schedule(context['execution_date'])

这意味着:如果您没有设置正确的DAG时间表,则此组件将尝试将其时间增量添加到None

我不确定问题中的代码仅仅是示例还是整件事。我的建议是:使用None以外的其他项添加DAG计划。

关于 Airflow TimeDeltaSensor因操作数类型不受支持而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51321699/

相关文章:

python - 如何从 Airflow 中的文件执行 SQL 查询? (PostgresQL 运算符)

docker - Kubernetes 部署只读文件系统错误

kubernetes - Apache Airflow 或 Argoproj 用于在 kubernetes 上长时间运行和 DAG 任务

python - 如何在Airflow中实现Canary DAG来进行其他作业的健康检查?

airflow - 基于外部文件的 Airflow 动态任务

python - Airflow 快速启动不起作用

apache-spark - 调用 o67.load : java. lang.NoClassDefFoundError: org/apache/hadoop/fs/staging/StagingDirectoryCapable 时出错

airflow-scheduler - 我们可以参数化 Airflow schedule_interval 动态读取变量而不是作为 cron 表达式传递吗

google-cloud-functions - 从 Cloud Function 的文件到达事件触发 Composer DAG 上的任务

python - TensorFlow Extended (TFX) : Clarify Beam, Airflow 和 Kubeflow 使用