You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "JeonChangWon (Jira)" <ji...@apache.org> on 2020/03/14 07:17:00 UTC
[jira] [Created] (AIRFLOW-7060) EXECUTOR variable don't work in
airflow.cfg in breeze shell
JeonChangWon created AIRFLOW-7060:
-------------------------------------
Summary: EXECUTOR variable don't work in airflow.cfg in breeze shell
Key: AIRFLOW-7060
URL: https://issues.apache.org/jira/browse/AIRFLOW-7060
Project: Apache Airflow
Issue Type: Bug
Components: celery, cli
Affects Versions: 2.0.0
Reporter: JeonChangWon
Assignee: JeonChangWon
Because the default breeze environment set `AIRFLOW__CORE__EXECUTOR` to `SequentialExecutor`, I can't change it to 'CeleryExecutor' through airflow.cfg.
Problem 1:
When I execute the command `airflow celery` in the breeze default environment, an error occurred. Because the `celery` command is added dynamically when the executor is set to CeleryExecutor by airflow.cfg.
{code:java}
if conf.get("core", "EXECUTOR") == ExecutorLoader.CELERY_EXECUTOR or BUILD_DOCS: ...{code}
So, I changed airflow.cfg file from SequentialExecutor to CeleryExecutor.
but above error still exist because of the environment variable `AIRFLOW__CORE__EXECUTOR` which is set to "SequentialExecutor" by 'backend-sqlite.yml' file
Problem 2:
In addition, the below error can occur after I changed
`AIRFLOW__CORE__EXECUTOR` to "CeleryExecutor" because "Celery Executor" don't use sqlite.
{code:java}
Traceback (most recent call last): File "/usr/local/bin/airflow", line 7, in <module> exec(compile(f.read(), __file__, 'exec')) File "/opt/airflow/airflow/bin/airflow", line 26, in <module> from airflow.bin.cli import CLIFactory File "/opt/airflow/airflow/__init__.py", line 34, in <module> from airflow import settings File "/opt/airflow/airflow/settings.py", line 34, in <module> from airflow.configuration import AIRFLOW_HOME, WEBSERVER_CONFIG, conf # NOQA F401 File "/opt/airflow/airflow/configuration.py", line 602, in <module> conf.read(AIRFLOW_CONFIG) File "/opt/airflow/airflow/configuration.py", line 309, in read self._validate() File "/opt/airflow/airflow/configuration.py", line 185, in _validate self.get('core', 'executor'))) airflow.exceptions.AirflowConfigException: error: cannot use sqlite with the CeleryExecutor{code}
Solution 2:
I execute breeze command with an option like
{code:java}
./breeze -i redis -b postgres{code}
And change airflow.cfg SequentialExecutor to CeleryExecutor.
I finally could use the celery command and the celery worker works well.
I will send PR for Problem 1
--
This message was sent by Atlassian Jira
(v8.3.4#803005)