utkarsharma2 commented on issue #27929:
URL: https://github.com/apache/airflow/issues/27929#issuecomment-1352581085

   @o-nikolas I tried using the below code to get the Executor, which leads to 
a circular dependency error. 
   ```
   executor_cls, _ = ExecutorLoader.import_executor_cls(conf.get("core", 
"executor"))
   is_executor_without_sqlite_support = executor_cls.supports_ad_hoc_ti_run
   ```
   
   Error:
   ```
   /Users/utkarsharma/sandbox/airflow-sandbox/env3.8/bin/python 
"/Applications/PyCharm 
CE.app/Contents/plugins/python-ce/helpers/pycharm/_jb_pytest_runner.py" 
--target 
test_configuration.py::TestDeprecatedConf.test_deprecated_env_vars_upgraded_and_removed
   Testing started at 10:41 AM ...
   Launching pytest with arguments 
test_configuration.py::TestDeprecatedConf::test_deprecated_env_vars_upgraded_and_removed
 --no-header --no-summary -q in 
/Users/utkarsharma/sandbox/airflow-sandbox/airflow/tests/core
   
   ImportError while loading conftest 
'/Users/utkarsharma/sandbox/airflow-sandbox/airflow/tests/conftest.py'.
   ../conftest.py:41: in <module>
       from airflow import settings  # noqa: E402
   ../../airflow/__init__.py:35: in <module>
       from airflow import settings
   ../../airflow/settings.py:37: in <module>
       from airflow.configuration import AIRFLOW_HOME, WEBSERVER_CONFIG, conf  
# NOQA F401
   ../../airflow/configuration.py:1752: in <module>
       conf.validate()
   ../../airflow/configuration.py:341: in validate
       self._validate_config_dependencies()
   ../../airflow/configuration.py:438: in _validate_config_dependencies
       executor_cls, _ = ExecutorLoader.import_executor_cls(conf.get("core", 
"executor"))
   ../../airflow/executors/executor_loader.py:128: in import_executor_cls
       return import_string(cls.executors[executor_name]), ConnectorSource.CORE
   ../../airflow/utils/module_loading.py:36: in import_string
       module = import_module(module_path)
   ../../airflow/executors/sequential_executor.py:30: in <module>
       from airflow.executors.base_executor import BaseExecutor, CommandType
   ../../airflow/executors/base_executor.py:29: in <module>
       from airflow.models.taskinstance import TaskInstance, TaskInstanceKey
   ../../airflow/models/taskinstance.py:70: in <module>
       from airflow.datasets.manager import dataset_manager
   ../../airflow/datasets/manager.py:27: in <module>
       from airflow.models.dataset import DatasetDagRunQueue, DatasetEvent, 
DatasetModel
   ../../airflow/models/dataset.py:40: in <module>
       from airflow.utils import timezone
   ../../airflow/utils/timezone.py:27: in <module>
       from airflow.settings import TIMEZONE
   E   ImportError: cannot import name 'TIMEZONE' from partially initialized 
module 'airflow.settings' (most likely due to a circular import) 
(/Users/utkarsharma/sandbox/airflow-sandbox/airflow/airflow/settings.py)
   
   ```
   
   Is there any other way we can access the `supports_ad_hoc_ti_run` of an 
executor in `configuration.py` ???


-- 
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.

To unsubscribe, e-mail: [email protected]

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

Reply via email to