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]