我们在DAG函数中具有“ schedule_interval”属性,以提供cron表达式来满足我的要求。我认为cron有一个局限性,我们不能使工作/任务连续25天运行一次。下面是cron表达式,每个月的第25天执行一次工作。
5 10 */25 * *
但是我需要每25天连续运行一次作业/ DAG。有没有办法运行DAG来满足我的要求?
答案 0 :(得分:1)
您可以使用schedule_interval
来设置datetime.timedelta
。
例如,要安排DAG从今天开始10:05 CET在25天之内首次运行,然后每25天运行一次,则可以这样指定DAG脚本:
import pendulum
from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.dummy_operator import DummyOperator
default_args = {
'owner': 'Airflow',
'start_date': datetime(
2019, 11, 24, 10, 5, tzinfo=pendulum.timezone('Europe/Berlin')
),
}
with DAG(
'my_dag', schedule_interval=timedelta(days=25), default_args=default_args,
) as dag:
op = DummyOperator(task_id='dummy')