Airflow在unittest.cfg环境变量路径中创建AIRFLOW_HOME文件。

我的问题是:为什么我要通过环境变量unittest.cfg指向airflow.cfg的方式与AIRFLOW_CONFIG相同?

之所以要这样做,是因为我不想在AIRFLOW_HOME目录中包含任何配置文件。

另外,如果有人更了解,您能解释一下unittest.cfg的含义是什么,因为我找不到关于它的文档。

最佳答案

unittest.cfg测试配置文件是Airflow在测试模式下运行时使用的default configuration file

可以通过将unit_test_modeairflow.cfg环境变量中的 AIRFLOW__CORE__UNIT_TEST_MODE configuration选项设置为True来激活测试模式。

激活测试模式后,运行时测试配置文件中的配置值将覆盖airflow.cfg中的配置值。

# Source: https://github.com/apache/airflow/blob/1.10.5/airflow/configuration.py#L558,L561
def get_airflow_test_config(airflow_home):
    if 'AIRFLOW_TEST_CONFIG' not in os.environ:
        return os.path.join(airflow_home, 'unittests.cfg')
    return expand_env_var(os.environ['AIRFLOW_TEST_CONFIG'])

可以将AIRFLOW_TEST_CONFIG环境变量设置为测试配置文件的路径。

10-07 16:40
查看更多