airflow该如何把dag只当成一次任务仅执行一次?
我的airflow的使用情况为:airflow在使用trigger命令触发dag后,dag状态虽然为running,但task并未运行,state为空,推测是由于默认dag是pause状态引起的,因此我使用unpause来启动dag,在添加dag后直接使用unpause,dag可以正常启动,并且会每天执行,虽然周期执行貌似是airflow的一个方便的地方,但是是否有指令或者方法可以在非web端一步完成dag仅执行一次的操作,并且完成的状态正常记录在airflow的表中。
py文件的代码
from datetime import timedelta
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.operators.python_operator import PythonOperator
from airflow.utils.dates import days_ago
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': days_ago(1),
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
dag = DAG(
'mkdir',
default_args=default_args,
description='A test DAG for mkdir',
catchup=False
)
t1 = BashOperator(
task_id='echo',
bash_command='echo start',
dag=dag,
)
t2 = BashOperator(
task_id='mkdir',
depends_on_past=False,
bash_command="/home/2.sh ",
dag=dag,
)
t1 >> t2