airflow-maintenance-dags
airflow-maintenance-dags copied to clipboard
issue on airflow 2.6.0 - airflow-db-cleanup.py - No module named 'airflow.jobs.base_job'
error on import of airflow-db-cleanup.py
Broken DAG: [/opt/bitnami/airflow/dags/airflow-db-cleanup.py] Traceback (most recent call last):
File "/opt/bitnami/airflow/dags/airflow-db-cleanup.py", line 17, in <module>
from airflow.jobs import BaseJob
ImportError: cannot import name 'BaseJob' from 'airflow.jobs' (/opt/bitnami/airflow/venv/lib/python3.9/site-packages/airflow/jobs/__init__.py)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/opt/bitnami/airflow/dags/airflow-db-cleanup.py", line 19, in <module>
from airflow.jobs.base_job import BaseJob
ModuleNotFoundError: No module named 'airflow.jobs.base_job'
base_job.py is gone in airflow 2.6.0: https://github.com/apache/airflow/tree/main/airflow/jobs
I've replaced
try:
from airflow.jobs import BaseJob
except Exception as e:
from airflow.jobs.base_job import BaseJob
by
try:
from airflow.jobs.job import Job as BaseJob
except Exception as e:
try:
from airflow.jobs.base_job import BaseJob
except Exception as e:
from airflow.jobs import BaseJob
it seems to work (I changed the order of import since I'm in 2.6 and it's not useful to try import that will fail)
watching; have same problem and the code update from darkag also fixed my import error
I've replaced
try:
from airflow.jobs import BaseJob
except Exception as e:
from airflow.jobs.base_job import BaseJob
by
try:
from airflow.jobs.job import Job as BaseJob
except Exception as e:
try:
from airflow.jobs.base_job import BaseJob
except Exception as e:
from airflow.jobs import BaseJob
it seems to work (I changed the order of import since I'm in 2.6 and it's not useful to try import that will fail)
Thanks, worked successfully on airflow 2.7
#131