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