Запуск `airflow scheduler` запускает 33 процесса планировщика
Когда используешь LocalExecutor
с MySQL
бэкэнд, работает airflow scheduler
на моем блоке Centos 6 создается 33 процесса планировщика, например
deploy 55362 13.5 1.8 574224 73272 ? Sl 18:59 7:42 /usr/local/bin/python2.7 /usr/local/bin/airflow scheduler
deploy 55372 0.0 1.5 567928 60552 ? Sl 18:59 0:00 /usr/local/bin/python2.7 /usr/local/bin/airflow scheduler
deploy 55373 0.0 1.5 567928 60540 ? Sl 18:59 0:00 /usr/local/bin/python2.7 /usr/local/bin/airflow scheduler
...
Они отличаются от процессов Executor и основных и рабочих процессов Gunicorn. Запуск с SequentialExecutor
(sqlite
бэкэнд) просто запускает один процесс планировщика.
Поток воздуха все еще работает (группы DAG запускаются), но огромное количество этих процессов заставляет меня думать, что что-то не так.
Когда я бегу select * from job where state = 'running';
в базе только 5 SchedulerJob
строки возвращаются. Это нормально?
1 ответ
Да это нормально. Это процессы планировщика. Вы можете контролировать это, используя параметр ниже в 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 = 32
Они создаются из планировщика, чей pid находится в файле airflow-scheduler.pid
поэтому 32+1=33 процесса, которые вы видите.
Надеюсь, это очистит ваши сомнения.
Ура!
Начиная с версии 1.10.3, это то, что я нашел. Мои настройки:
parallelism = 32
max_threads = 4
Всего есть
- 1 (основной) +
- 32 (исполнители) +
- 1 (dag_processor_manager) +
- 4 (процессоры dag)
= 38 процессов!