我在气流中创建了一个使用测试和回填命令成功运行的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
感谢。
答案 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