气流“ NoneType”对象没有属性“ is_paused”,如何解决?

时间:2018-09-07 08:35:55

标签: python airflow

我是气流的新手,我只是按照教程进行操作。实际上我确实成功完成了,但是问题是当我尝试通过输入airflow pause dag_id之类的命令行来暂停dag时,它会抛出AttributeError: 'NoneType' object has no attribute 'is_paused'

回溯为:

File "/anaconda3/bin/airflow", line 32, in <module>
    args.func(args)
  File "/anaconda3/lib/python3.6/site-packages/airflow/utils/cli.py", line 74, in wrapper
    return f(*args, **kwargs)
  File "/anaconda3/lib/python3.6/site-packages/airflow/bin/cli.py", line 365, in pause
    set_is_paused(True, args, dag)
  File "/anaconda3/lib/python3.6/site-packages/airflow/bin/cli.py", line 379, in set_is_paused
    dm.is_paused = is_paused

所以我检查了输出目录中的python文件,但是,它是由airflow编码的,我不知道该如何解决?!!

SHOW:~ macbook$ airflow list_dags
[2018-09-07 21:31:38,262] {__init__.py:51} INFO - Using executor SequentialExecutor
[2018-09-07 21:31:38,381] {models.py:258} INFO - Filling up the DagBag from /Users/macbook/airflow/dags


-------------------------------------------------------------------
DAGS
-------------------------------------------------------------------
example_bash_operator
example_branch_dop_operator_v3
example_branch_operator
example_http_operator
example_kubernetes_executor
example_kubernetes_operator
example_passing_params_via_test_command
example_python_operator
example_short_circuit_operator
example_skip_dag
example_subdag_operator
example_subdag_operator.section-1
example_subdag_operator.section-2
example_trigger_controller_dag
example_trigger_target_dag
example_xcom
haha
latest_only
latest_only_with_trigger
test_utils
tutorial

SHOW:~ macbook$ airflow pause haha
[2018-09-07 21:35:41,366] {__init__.py:51} INFO - Using executor SequentialExecutor
[2018-09-07 21:35:41,496] {models.py:258} INFO - Filling up the DagBag from /Users/macbook/airflow/dags
Traceback (most recent call last):
  File "/anaconda3/bin/airflow", line 32, in <module>
    args.func(args)
  File "/anaconda3/lib/python3.6/site-packages/airflow/utils/cli.py", line 74, in wrapper
    return f(*args, **kwargs)
  File "/anaconda3/lib/python3.6/site-packages/airflow/bin/cli.py", line 365, in pause
    set_is_paused(True, args, dag)
  File "/anaconda3/lib/python3.6/site-packages/airflow/bin/cli.py", line 379, in set_is_paused
    dm.is_paused = is_paused
AttributeError: 'NoneType' object has no attribute 'is_paused'

2 个答案:

答案 0 :(得分:0)

这可能是因为DAG(tutorial.py)不在气流期望DAG所在的目录中。请检查DAG是否存储在dags_folder下airflow.cfg中设置的目录中。

答案 1 :(得分:-1)

如果您正在使用该代码段读取任何文件,请确保包括完整路径。相对路径不起作用。