Python 3.x &引用;处理信号:ttou“;在气流中运行DAG时的消息

Python 3.x &引用;处理信号:ttou“;在气流中运行DAG时的消息,python-3.x,airflow,gunicorn,Python 3.x,Airflow,Gunicorn,我已经创建了示例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,

我已经创建了示例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))
当我运行airflow Web服务器时,我会看到下面的消息

/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将仅在运行状态下存在


如果有人遇到此问题并已修复,请告诉我。

这些消息是预期的。
ttou
(和
ttin
)信号用于刷新Web服务器的gunicorn工作进程,以便它拾取DAG更改。您可以使用
worker\u refresh\u interval
worker\u refresh\u batch\u size
值修改或禁用此行为。

我真的不想毫无理由地更改
worker\u refresh\u interval
worker\u refresh\u batch\u 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'
ENV GUNICORN_CMD_ARGS --log-level WARNING
如果在
Dockerfile
中设置此选项,将使用apache airflow==1.10.6和gunicorn==19.9.0测试以下内容:

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

信用证:

我有一些疑问:“…gunicorn Web服务器的工作人员,以便它能够接收DAG更改”。如果为了禁用刷新而将辅助对象刷新批大小设置为0,则仍会处理DAG中的更改(添加或修改)。需要经常这样做吗?这似乎导致了相当高的cpu使用率