对于多个作业,使用Airflow DAG(有向无环图)进行编排和调度,DAG是一个任务的有向无环图,表示任务和它们之间的依赖关系。在同一个DAG中,可以定义多个任务并设置不同的依赖关系和调度时间。可以使用Python编写DAG,使用Airflow的Operator类为DAG添加任务。以下是一个在同一DAG中调度具有相同和不同调度的两个任务的示例代码:
from datetime import datetime
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
def task1():
print("This is Task 1")
def task2():
print("This is Task 2")
dag = DAG(dag_id='multiple_jobs',
start_date=datetime(2021, 10, 1),
schedule_interval='@hourly')
job1 = PythonOperator(task_id='task1',
python_callable=task1,
dag=dag)
job2 = PythonOperator(task_id='task2',
python_callable=task2,
dag=dag,
schedule_interval='@daily')
job1 >> job2
在上面的代码中,我们定义了一个名为“multiple_jobs”的DAG,并使用小时级间隔调度了job1,这意味着它将每小时运行一次。而job2定义了每天调度一次的调度间隔。我们使用PythonOperator类将任务添加到DAG中,并使用“>>”将依赖关系定义为job1到job2。
这是一个简单的示例,您可以根据您的要求添加更多的作业和设置不同的调度时间。