"Handling signal: ttou" 消息,而 运行 DAG 在气流中

"Handling signal: ttou" message while running DAG in airflow

我创建了示例 DAG,其中我的 DAG 配置如下。

default_args = {
    'owner': 'airflow',         
    'depends_on_past': False, 
    'start_date': one_min_ago,
    'email': ['admin@airflow.com'],
    'email_on_failure': True, 
    'email_on_retry': True, 
    'retries': 5, 
    'retry_delay': timedelta(hours=30))

有了这个,当我 运行 气流网络服务器时,我收到以下消息。

/home/af_user/anaconda/lib/python3.5/site-packages/flask/exthook.py:71: 
ExtDeprecationWarning: Importing flask.ext.cache is deprecated, use 
flask_cache instead.
 .format(x=modname), ExtDeprecationWarning
[2017-12-18 12:41:27,967] [17328] {models.py:167} INFO - Filling up the 
DagBag from /home/af_user/airflow/dags
[2017-12-18 12:41:28 +0000] [16648] [INFO] Handling signal: ttou
[2017-12-18 12:41:57 +0000] [16655] [INFO] Worker exiting (pid: 16655)

并且 DAG 也将仅在 运行ning 状态下存在。

如果有人遇到过这个问题并已经解决了,请告诉我。

这些消息是预期的。 ttou(和 ttin)信号用于刷新网络服务器的 gunicorn worker,以便它获取 DAG 更改。您可以使用 worker_refresh_intervalworker_refresh_batch_size airflow config 值修改或禁用此行为。

我真的不想在没有充分理由的情况下更改 worker_refresh_intervalworker_refresh_batch_size。另一种方法是设置环境变量:

GUNICORN_CMD_ARGS="--log-level WARNING"

如果在 docker-compose.yml 文件中进行设置,以下是使用 apache-airflow==1.10.6 和 gunicorn==19.9.0 测试的:

environment:
    - 'GUNICORN_CMD_ARGS=--log-level WARNING'

如果在 Dockerfile 中设置此项,以下是使用 apache-airflow==1.10.6 和 gunicorn==19.9.0 测试的:

ENV GUNICORN_CMD_ARGS --log-level WARNING

来源:answer by amoskaliov