芹菜执行期间的气流错误

Airflow error during celery execution

我们在 docker 实例中使用 rabbitmq、mysql db 和 celery 执行器设置了气流设置。 通过 运行 命令触发第一个人 step/opertator,如下所示。

airflow run wfm_model_training_client_1_queue_11 fetch_top_funnel_data  2016-03-03

然而,当我们通过如下回填命令触发整个 dag 时,我们在 celery 执行期间遇到以下错误。显然这是芹菜的错误,但是我如何提取更多日志来调试它。

回填命令

airflow backfill wfm_model_training_client_1_queue_11 -s 2016-03-03 -e 2016-03-03

Celery 错误 celery_taskmeta table 中的回溯列

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/celery/app/trace.py", line 367, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/celery/app/trace.py", line 622, in __protected_call__
    return self.run(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/airflow/executors/celery_executor.py", line 59, in execute_command
    except subprocess.CalledProcessError as e:
AirflowException: Celery command failed

该错误是由于一些 pickle 相关问题造成的。我通过将 --donot_pickle args 传递给回填命令来绕过这个问题。

已通过更新的命令解决

airflow run wfm_model_training_client_1_queue_11 fetch_top_funnel_data  2016-03-03 --donot_pickle