在Airflow中,可以通过设置任务的concurrency参数,来限制任务的实例数量为1。以下是一个示例代码:
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
from datetime import datetime
def my_task():
# 任务的具体逻辑
pass
default_args = {
'start_date': datetime(2021, 1, 1),
'concurrency': 1 # 设置任务的并发数为1
}
with DAG('my_dag', default_args=default_args, schedule_interval=None) as dag:
task = PythonOperator(
task_id='my_task',
python_callable=my_task
)
在上述代码中,通过设置default_args字典中的concurrency参数为1,可以确保任务的实例数量为1。这样,每次调度时只会运行一个任务实例,而不会同时运行多个实例。