Size: a a a

2020 December 24

VS

Vladislav 👻 Shishkov... in Airflow
Правда у нас был один ретрай
источник

VS

Vladislav 👻 Shishkov... in Airflow
Антон
не уверен что это связанно, но и веб-сервер тоже на нескольких машинах
Вроде не должен влиять вебсервер
источник

А

Антон in Airflow
та прост с ним тоже свои приколы бывают, но то из-за балансировщика
источник

VS

Vladislav 👻 Shishkov... in Airflow
Если мне не изменяет память, то ссылка на воркер хранится где-то в базе бекенда. Но я не смог однозначно это выявить, когда хотел сделать миграцию логов, при переходе на другой воркер
источник

VS

Vladislav 👻 Shishkov... in Airflow
Выявить ссылку для логов именно, а не воркера, если что
источник

А

Антон in Airflow
в ti есть log_url, но общий лог (читай последний), без ретраев
источник

VS

Vladislav 👻 Shishkov... in Airflow
Ща допью кофе и докурю, гляну, что у нас
источник

VS

Vladislav 👻 Shishkov... in Airflow
Антон
всем привет! ребят, подскажите плиз, может кто сталкивался с таким.
есть AF с несколькими воркерами (celery executor), и есть даги с ретраями. так вот, если было, допустим, 3 ретрая, и на трейтий даг успешно выполнился, то веб-морда будет искать логи только на последнем воркере. и таким образом мы получаем картину что логов нет для предыдущих попыток выполнить код, если они были на других воркерах
да, подтверждаю, аналогичная проблема
источник

VS

Vladislav 👻 Shishkov... in Airflow
в вебке смотрит на ту же ноду (последнюю?), но на другой по факту логи есть
источник

VS

Vladislav 👻 Shishkov... in Airflow
самое интересное, что я точно помню кейс, когда я видул в вебке логи с разных воркеров, надо покопать ситуацию 🤔
источник

GB

Georgy Borodin in Airflow
Антон
всем привет! ребят, подскажите плиз, может кто сталкивался с таким.
есть AF с несколькими воркерами (celery executor), и есть даги с ретраями. так вот, если было, допустим, 3 ретрая, и на трейтий даг успешно выполнился, то веб-морда будет искать логи только на последнем воркере. и таким образом мы получаем картину что логов нет для предыдущих попыток выполнить код, если они были на других воркерах
Ну вообще разруливается хранением логов в другом месте. Пока воркер жив, он будет отдавать логи, которые у него есть, но если он вырубается – логи уже не достанешь.
Но если их хранить, например, в S3, они не пропадут
источник

VS

Vladislav 👻 Shishkov... in Airflow
Georgy Borodin
Ну вообще разруливается хранением логов в другом месте. Пока воркер жив, он будет отдавать логи, которые у него есть, но если он вырубается – логи уже не достанешь.
Но если их хранить, например, в S3, они не пропадут
в другом единном месте
источник

VS

Vladislav 👻 Shishkov... in Airflow
и это не "разруливается" - это просто костыль, с точки зрения "разруливания"
источник

А

Антон in Airflow
согласен
источник

VS

Vladislav 👻 Shishkov... in Airflow
Похоже ссылки беруться из таблицы task_instance, хотя по факту их надо брать из таблицы log, вот только непонятно, как это меппить в вебке...
источник

А

Антон in Airflow
разве что как вариант запилить свой log_config, в котором формировать ссылки на лог по-правослваному и, в случаев ретраев, кидать в слак, почту, вотэвер
источник

VS

Vladislav 👻 Shishkov... in Airflow
тоже такое, по сути, ссылик строятся на таблице, которая не историчная, поэтому на каждый чих надо слать куда-то инстанс
источник

VS

Vladislav 👻 Shishkov... in Airflow
@TonyDanzaDanceExtravaganza а какая версия у вас airflow?
у меня 1.10.10
источник

А

Антон in Airflow
1.10.12
источник

GB

Georgy Borodin in Airflow
Vladislav 👻 Shishkov
и это не "разруливается" - это просто костыль, с точки зрения "разруливания"
Ну не согласен, что костыль. Логи пишутся-то по дефолту в локальные файлы воркера https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#worker-log-server-port
источник