在UI Airflow中手动运行时,在气流中运行dag时出错

时间:2017-10-31 09:22:14

标签: python python-2.7 airflow apache-airflow airflow-scheduler

我在气流中创建了一个使用测试和回填命令成功运行的DAG,但是当我从气流UI手动运行它时会出错。我问题的任何解决方案?注意,DAG在LocalExecutor中运行。

错误登录UI Airflow:

*** Log file isn't local.
*** Fetching here: http://:8793/log/test/start/2017-10-31T09:14:32.378718
*** Failed to fetch log file from worker.

*** Reading remote logs...
*** Unsupported remote log location.

代码DAG:

from airflow.models import DAG
from airflow.operators.dummy_operator import DummyOperator
from datetime import datetime, timedelta

DAG_NAME = 'test'
args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': datetime(2017, 10, 17),
    'email': ['abc@abc.com'],
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
}

with DAG(DAG_NAME, schedule_interval=timedelta(days=1),
         default_args=args) as dag:

    start = DummyOperator(
        task_id='start')

    end = DummyOperator(
        trigger_rule='one_success',
        task_id='end')

    start >> end

感谢。

2 个答案:

答案 0 :(得分:0)

你的任务定义存在问题,你没有给他们分配任何dag。在每个中添加dag = dag并且它将起作用。例如:

start = DummyOperator( task_id='start', dag=dag)

end = DummyOperator( trigger_rule='one_success', task_id='end', dag=dag)

注意:通过检查工作日志,你会得到一个提示:" IN-predicate on" dag_stats.dag_id"用空序列调用。这导致了矛盾,但评估的费用仍然很昂贵。"

答案 1 :(得分:0)

如果DAG使用test和backfill命令成功运行,则当我在UI中触发dag时将其打开即可。 make sure to turn on the DAG before trigger it