Airflow中可以使用Cron表达式来进行类似于Cron的调度。下面是一个使用Cron表达式调度任务的示例代码:
from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
def my_task():
print("This is my task")
default_args = {
'owner': 'airflow',
'start_date': datetime(2021, 1, 1),
'retries': 1,
'retry_delay': timedelta(minutes=5)
}
dag = DAG(
'my_dag',
default_args=default_args,
schedule_interval='0 0 * * *' # 每天凌晨执行
)
task = PythonOperator(
task_id='my_task',
python_callable=my_task,
dag=dag
)
task
在上述示例中,schedule_interval
参数设置为'0 0 * * *'
,表示将任务调度为每天的凌晨执行。你可以根据需要自定义Cron表达式来调度任务。
注意事项:
start_date
参数指定了DAG的开始日期,任务将从该日期开始调度。retries
参数指定了任务的重试次数。retry_delay
参数指定了任务重试的时间间隔。你可以将上述代码保存为一个Python文件,然后使用Airflow的命令行工具或Web界面进行任务的调度和管理。