0

Trying to get a few tasks concurrently on cloud composer:

arr = {}
for i in xrange(3):
    print("i: " + str(i))
    command_formatted = command_template.format(str(i))
    create_training_instance = bash_operator.BashOperator(
        task_id='create_training_instance',
        bash_command=command_formatted)
    arr[i] = create_training_instance
    start_training.set_downstream(arr[i])  

Getting the following error:

Broken DAG: [/home/airflow/gcs/dags/scale_simple.py] Dependency , create_training_instance already registered

JY2k
  • 2,879
  • 1
  • 31
  • 60

2 Answers2

1

The task_id should always be unique for a single task. So, you can use something like create_training_instance_{}.format(i) as task_id.

kaxil
  • 17,706
  • 2
  • 59
  • 78
0

You need to parameterize your task id as well, e.g., task_id='create_training_instance' --> 'create_traiing_instance-{}'.format(i)

JY2k
  • 2,879
  • 1
  • 31
  • 60