Я использую Apache Airflow 1.8.1.Я хотел бы запустить более 32 одновременных задач на моем экземпляре, но не могу заставить работать ни одну из конфигураций.
Я использую CeleryExecutor, конфигурация Airflow в пользовательском интерфейсе показывает 64 для parallelism
и dag_concurrency
и я несколько раз перезапускал планировщик Airflow, веб-сервер и работников (на самом деле я тестировал это локально на машине Vagrant, но также тестировал на экземпляре EC2).
airflow.cfg
# The amount of parallelism as a setting to the executor. This defines
# the max number of task instances that should run simultaneously
# on this airflow installation
parallelism = 64
# The number of task instances allowed to run concurrently by the scheduler
dag_concurrency = 64
Пример DAG.Я пробовал как с аргументом concurrency
, так и без него непосредственно в DAG.
from datetime import datetime
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
dag = DAG(
'concurrency_dev',
default_args={
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2018, 1, 1),
},
schedule_interval=None,
catchup=False
)
for i in range(0, 40):
BashOperator(
task_id='concurrency_dev_{i}'.format(i=i),
bash_command='sleep 60',
dag=dag
)
Несмотря на это, одновременно выполнялось только 32 задачи.
![enter image description here](https://i.stack.imgur.com/9p7yK.png)