С тех пор я обнаружил, что, хотя установка 'console' в качестве обработчика для регистратора airflow.task позволяет вам видеть выходные данные команд 'airflow test', кажется, что команды 'airflow run' также вызывают войти в бесконечный цикл и исчерпать память. Поэтому я бы делал это только в среде, в которой вы хотите запускать только команды проверки воздушного потока
Почему он это делает, я пока не знаю, и есть ли способ решить этот вопрос, не прерывая «поток воздуха», мне неясно
В конфигурации регистрации по умолчанию для Airflow 1.10.0 доступны следующие средства ведения журнала:
'loggers': {
'airflow.processor': {
'handlers': ['processor'],
'level': LOG_LEVEL,
'propagate': False,
},
'airflow.task': {
'handlers': ['task'],
'level': LOG_LEVEL,
'propagate': False,
},
'flask_appbuilder': {
'handler': ['console'],
'level': FAB_LOG_LEVEL,
'propagate': True,
}
},
и регистратор airflow.task (который используется при запуске задачи) использует обработчик 'task' :
'handlers': {
'console': {
'class': 'airflow.utils.log.logging_mixin.RedirectStdHandler',
'formatter': 'airflow',
'stream': 'sys.stdout'
},
'task': {
'class': 'airflow.utils.log.file_task_handler.FileTaskHandler',
'formatter': 'airflow',
'base_log_folder': os.path.expanduser(BASE_LOG_FOLDER),
'filename_template': FILENAME_TEMPLATE,
},
'processor': {
'class': 'airflow.utils.log.file_processor_handler.FileProcessorHandler',
'formatter': 'airflow',
'base_log_folder': os.path.expanduser(PROCESSOR_LOG_FOLDER),
'filename_template': PROCESSOR_FILENAME_TEMPLATE,
},
},
который (если не изменен) будет записывать только выходные данные задачи в файл журнала. Если вы также хотите видеть вывод в stdout, то вам нужно добавить обработчик console в список обработчиков, используемых регистратором airflow.task :
'airflow.task': {
'handlers': ['task', 'console'],
'level': LOG_LEVEL,
'propagate': False,
},
Это может быть сделано либо путем настройки пользовательского класса конфигурации ведения журнала, который переопределяет конфигурацию по умолчанию, либо путем редактирования файла настроек по умолчанию
wherever_you_installed_airflow / сайт-пакеты / воздуха / config_templates / airflow_local_settings.py