dstandish opened a new issue #14945:
URL: https://github.com/apache/airflow/issues/14945


   Our docs on dag policy demonstrate usage with type annotations:
   
https://airflow.apache.org/docs/apache-airflow/stable/concepts.html?highlight=dag_policy#dag-level-cluster-policy
   
   ```python
   def dag_policy(dag: DAG):
       """Ensure that DAG has at least one tag"""
       if not dag.tags:
           raise AirflowClusterPolicyViolation(
               f"DAG {dag.dag_id} has no tags. At least one tag required. File 
path: {dag.filepath}"
           )
   ```
   
   The problem is, by the time you import DAG with `from airflow import DAG`, 
airflow will have already loaded up the `settings.py` file (where processing of 
airflow_local_settings.py is done), and it seems nothing in your airflow local 
settings file gets imported.
   
   To test this you can add a local settings file containing this:
   
   ```
   from airflow import DAG
   
   raise Exception('hello')
   ```
   
   Now run `airflow dags list` and observe that no error will be raised.
   
   Remove the `DAG` import.  Now you'll see the error.
   
   Any suggestions how to handle this?  
   
   There are a couple conf settings imported from settings. We could move these 
to `airflow/__init__.py`.  But less straightforward would be what to do about 
`settings.initialize()`.  Perhaps we could make it so that initialized is 
called within settings?
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to