0

我有在这个问题中设置的任务。

基于 UI,看起来依赖项是明确定义的:

在此处输入图像描述

我已经测试了如下的个别任务airflow test capone_dash_preproc AAAG5608078M2 2017-07-25:这很好用,更新与该用户对应的目标数据库条目。但是,当我尝试运行完整任务时,它似乎被挂断了。python3 dash_dag.py基本上在网络服务器上导致以下终端输出,无休止地重复。所有 CPU 都是安静的,因此似乎没有发生太多计算:

/usr/local/lib/python3.6/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.cache is deprecated, use flask_cache instead.
  .format(x=modname), ExtDeprecationWarning
[2017-07-25 16:48:23,266] [58627] {models.py:167} INFO - Filling up the DagBag from /Users/aaronpolhamus/airflow/dags
[2017-07-25 16:48:25 -0500] [58487] [INFO] Handling signal: ttou
[2017-07-25 16:49:13 -0500] [58557] [INFO] Worker exiting (pid: 58557)
[2017-07-25 16:49:44 -0500] [58487] [INFO] Handling signal: ttin
[2017-07-25 16:49:44 -0500] [58642] [INFO] Booting worker with pid: 58642
/usr/local/lib/python3.6/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.cache is deprecated, use flask_cache instead.
  .format(x=modname), ExtDeprecationWarning
[2017-07-25 16:49:44,607] [58642] {models.py:167} INFO - Filling up the DagBag from /Users/aaronpolhamus/airflow/dags
[2017-07-25 16:49:46 -0500] [58487] [INFO] Handling signal: ttou
[2017-07-25 16:50:21 -0500] [58568] [INFO] Worker exiting (pid: 58568)
[2017-07-25 16:50:51 -0500] [58487] [INFO] Handling signal: ttin
[2017-07-25 16:50:51 -0500] [58661] [INFO] Booting worker with pid: 58661
/usr/local/lib/python3.6/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.cache is deprecated, use flask_cache instead.
  .format(x=modname), ExtDeprecationWarning
[2017-07-25 16:50:52,324] [58661] {models.py:167} INFO - Filling up the DagBag from /Users/aaronpolhamus/airflow/dags
[2017-07-25 16:50:54 -0500] [58487] [INFO] Handling signal: ttou
[2017-07-25 16:51:20 -0500] [58596] [INFO] Worker exiting (pid: 58596)
[2017-07-25 16:51:50 -0500] [58487] [INFO] Handling signal: ttin
[2017-07-25 16:51:50 -0500] [58677] [INFO] Booting worker with pid: 58677
...

我的困惑源于单个测试运行良好并填充数据库的事实。挂起和失败的是整个运行。这里有什么明显的吗?

4

1 回答 1

1

气流存在多个组件。最重要的是调度程序、网络服务器和工作者(在水平扩展的情况下)。调度程序总是*需要运行才能让 Airflow 执行任务。Web 服务器只是在调度程序正在执行的操作和 Rest API 之上提供一个漂亮的 UI。所有组件都使用后备数据库。

您正在显示网络服务器的输出,而我本来希望看到调度程序的输出。从您发布的屏幕截图和您尝试运行 DAG 的方式来看,我的假设是您没有启动它。

因此,通过在命令行上发出来启动调度程序airflow scheduler,您的 DAG 可能会启动。

*回填是一个例外

于 2017-07-26T06:04:37.200 回答