Airflow 2.2使用自定义Timetable调度提示类未注册报错如何解决
问题修复方案
- 首先清理DAG目录残留文件
你报错信息里的DAG ID为example_timetable_dag2,和你提供的DAG文件里声明的example_workday_timetable不一致,说明$Home/airflow/dags目录下存在旧的测试DAG文件,先删除这些无效的旧文件,避免代码冲突。 - 补全插件目录的包声明
在$Home/airflow/plugins目录下创建空的__init__.py文件,确保Python将该目录识别为合法包,Airflow可以正常读取路径下的模块。 - 完全重启Airflow服务
先停止所有运行中的scheduler、webserver、worker进程,再重新启动服务,避免旧进程缓存了旧的代码逻辑,导致类注册状态不更新。 - (可选)调整DAG文件的导入逻辑
如果以上操作后仍然报错,把DAG文件中的导入语句修改为从注册的插件名导入:from workday_timetable_plugin import AfterWorkdayTimetable
重启后等待1-2分钟让Airflow重新扫描DAG,即可解决序列化报错问题。
内容的提问来源于stack exchange,提问作者tfull
相关产品推荐
相关产品推荐

