可以使用 third_party 插件 airflow.models.CronExpression
,通过以下代码将 DAG 定义为在每月的第三个星期一运行:
from airflow import DAG
from airflow.models import CronExpression
from airflow.operators.bash_operator import BashOperator
from datetime import datetime
default_args = {
'owner': 'airflow',
'start_date': datetime(2021, 1, 1),
}
dag = DAG(
'my_dag',
default_args=default_args,
schedule_interval=CronExpression('0 0 0 ? * MON#3')
)
task = BashOperator(
task_id='my_task',
bash_command='echo "Hello, Airflow!"',
dag=dag
)
这将创建一个名为 my_dag
的 DAG,其中 schedule_interval
被设置为 CronExpression('0 0 0 ? * MON#3')
,表示 DAG 将在每月的第三个星期一运行。