Я использую Airflow v1.8.1 и запускаю все компоненты (рабочий, веб, цветок, планировщик) на кубернетах и докере. Я использую Celery Executor с Redis, и мои задачи выглядят так:
(start) -> (do_work_for_product1)
├ -> (do_work_for_product2)
├ -> (do_work_for_product3)
├ …
Итак, задача start
имеет несколько нисходящих потоков.
И я настраиваю конфигурацию concurrency, как показано ниже:
parallelism = 3
dag_concurrency = 3
max_active_runs = 1
Затем, когда я запускаю эту DAG вручную (не уверен, что это никогда не происходит в запланированной задаче), некоторые нисходящие потоки выполняются, а другие застревают в статусе "queued".
Если я очистил задачу от пользовательского интерфейса администратора, она будет выполнена. Нет рабочего журнала (после обработки некоторых первых потоков, он просто не выводит ни одного журнала).
Журнал веб-сервера (не уверен worker exiting
)
/usr/local/lib/python2.7/dist-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.cache is deprecated, use flask_cache instead.
.format(x=modname), ExtDeprecationWarning
[2017-08-24 04:20:56,496] [51] {models.py:168} INFO - Filling up the DagBag from /usr/local/airflow_dags
[2017-08-24 04:20:57 +0000] [27] [INFO] Handling signal: ttou
[2017-08-24 04:20:57 +0000] [37] [INFO] Worker exiting (pid: 37)
Также нет планировщика ошибок в планировщике. И ряд задач застревает, меняется каждый раз, когда я пытаюсь это сделать.
Потому что я также использую Docker. Мне интересно, связано ли это: https://github.com/puckel/docker-airflow/issues/94 Но пока нет подсказок.
Кто-нибудь сталкивался с подобной проблемой или имел некоторое представление о том, что я могу расследовать по этой проблеме...?