通过在列表上循环并传递参数,在Airflow中创建任务
编辑: 这将起作用,我定义了导致问题的ex_func_气流(var_1=I) 我想通过在列表上循环来创建气流中的任务通过在列表上循环并传递参数,在Airflow中创建任务,airflow,airflow-scheduler,Airflow,Airflow Scheduler,编辑: 这将起作用,我定义了导致问题的ex_func_气流(var_1=I) 我想通过在列表上循环来创建气流中的任务 tabs = [1,2,3,4,5] for i in tabs: task = PythonOperator( task_id = name, provide_context=False, op_args = [i], python_callable=ex_func_airflow, dag=dag) task_0 &g
tabs = [1,2,3,4,5]
for i in tabs:
task = PythonOperator(
task_id = name,
provide_context=False,
op_args = [i],
python_callable=ex_func_airflow,
dag=dag)
task_0 >> task >> task_1
在中运行时,传递的参数始终是该列表中的最后一个元素
所以我基本上是在跑步:
ex_func_airflow(6)
五次而不是跑步
ex_func_airflow(1)
ex_func_airflow(2)
ex_func_airflow(3)
……等等
如何为每个任务传递正确的参数 以下代码适用于我
def print_context(ds, **kwargs):
print("hello")
def ex_func_airflow(i):
print(i)
dag = DAG(
dag_id="loop_dag",
schedule_interval=None,
start_date=datetime(2018, 12, 31),
)
task_0 = PythonOperator(
task_id='task_0',
provide_context=True,
python_callable=print_context,
dag=dag)
task_1 = PythonOperator(
task_id='task_1',
provide_context=True,
python_callable=print_context,
dag=dag)
tabs = [1, 2, 3, 4, 5]
for i in tabs:
task_id = f'task_tab_{i}'
task = PythonOperator(
task_id=task_id,
provide_context=False,
op_args=[i],
python_callable=ex_func_airflow,
dag=dag)
task_0 >> task >> task_1
刚发现我的bug,我定义了如下函数。。def ex_func_气流(var_1=i):