Size: a a a

2018 June 06

SS

Sergey Sheremeta in Airflow
а что именно внутри вашего баш-скрипта? что если попробовать из Airflow запустить с помощью bash_operator фиктивный баш-скрипт со слипом на несколько минут?
источник

МС

Максим Сёмочкин in Airflow
Да у меня не совсем  BashScript. Два случая:
1. Самописанный оператор который из парметров формирует строку ssh и запускает её через  Popen.
2. BashOperator который запускает процесс python ...
источник

SS

Sergey Sheremeta in Airflow
ну, если вы запустите через Airflow (bash_operator) фиктивный баш-скрипт, которые заведомо долго выполнгяется, то проверите проблема с чем-то внутри ваших реальных скриптов или проблема с os.subprocess питона
источник

МС

Максим Сёмочкин in Airflow
Хм... дело не в времени
источник

МС

Максим Сёмочкин in Airflow
15 сигнал приходит даже на короктие таски
источник

МС

Максим Сёмочкин in Airflow
вообще ничего не понимаю
источник

МС

Максим Сёмочкин in Airflow
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta

schedule_interval = '0 */30 * * *'

default_args = {
   'owner': 'mvsyomo1',
   'start_date': datetime(2017, 5, 3, 8, 30),
   'email': ['mvsyomo1@mts.ru']
}

dag = DAG('test',
         catchup=False,
         schedule_interval=schedule_interval,
         concurrency=1,
         default_args=default_args)

with dag as dag:
   task1 = BashOperator(task_id='just_test',
                        bash_command="sleep 60 && echo iddqd")
источник

МС

Максим Сёмочкин in Airflow
Вот такое падает. Убираю sleep работает
источник

E

Edya in Airflow
у меня была похожая проблема с BashOperator, только вместо Killed by signal 15 была Killed as Zombie. Так и не разобрал почему. Воркароунд был запусть ту же баш команду, но через питон из PythonOperator (знаю, что это не есть хорошо)
источник

МС

Максим Сёмочкин in Airflow
Разобрался.
Дело было в том, что Airflow записывает в БД поле hostname для сущности task_instance.
А какая то добрая душа добавила ещё одну PTR запись для этого IP.
Scheduler при проверке TI сверял в том числе и это поле. Получалось, что первоначальная запись не верна (второй раз частенько приходил другой hostname из DNS) и убивал этот таск.
источник

SS

Sergey Sheremeta in Airflow
ололо
источник

МС

Максим Сёмочкин in Airflow
Решение - одна строка в hosts.
источник

МС

Максим Сёмочкин in Airflow
Нахрена LocalExecutor нужен этот самый hostname вопрос открытый :).
источник

МС

Максим Сёмочкин in Airflow
Да и Celery он тоже до лампочки.
источник

SS

Sergey Sheremeta in Airflow
вы крутой! расскажите как дошли до решения
источник

SS

Sergey Sheremeta in Airflow
ход рассуждений
источник

МС

Максим Сёмочкин in Airflow
Что-то убивает таски. Сама система не делает это через SIGTERM.
источник

I

Igor in Airflow
А кто-нибудь использует Charts? Из них можно что-то вытаскивать кроме информации по дагам? Например что-то из xcom вытаскивать
источник

МС

Максим Сёмочкин in Airflow
В логах нашёл Warning (!!! Не Error !!!) о том что хостнеймы не совпадают.
источник

МС

Максим Сёмочкин in Airflow
Полез в бд смотреть что там
источник