小编tfu*_*ull的帖子

airflow 2.2 时间表的时间表,总是出现错误:时间表未注册

我按照这个例子

  1. 创建示例时间表 py 文件,并将其放入 $Home/airflow/plugins
  2. 创建示例 dag 文件,并将其放入 $Home/airflow/dags

重新启动调度程序和网络服务器后,我得到了DAG import error。在 Web UI 中,最后一行详细的错误消息:

airflow.exceptions.SerializationError: Failed to serialize DAG 'example_timetable_dag2': Timetable class 'AfterWorkdayTimetable' is not registered
Run Code Online (Sandbox Code Playgroud)

但是如果我运行airflow plugins,我可以看到时间表位于名称和源列表中。

如何修复这个错误?

详细信息plugins/AfterWorkdayTimetable.py

from datetime import timedelta
from typing import Optional

from pendulum import Date, DateTime, Time, timezone

from airflow.plugins_manager import AirflowPlugin
from airflow.timetables.base import DagRunInfo, DataInterval, TimeRestriction, Timetable

UTC = timezone("UTC")


class AfterWorkdayTimetable(Timetable):
    def infer_data_interval(self, run_after: DateTime) -> DataInterval:
        weekday = run_after.weekday()
        if weekday …
Run Code Online (Sandbox Code Playgroud)

scheduler timetable airflow

5
推荐指数
1
解决办法
3403
查看次数

标签 统计

airflow ×1

scheduler ×1

timetable ×1