Squeak.ru - шаблоны программирования

Apache airflow sla miss - не отправляет электронную почту

Я использую Apache Airflow, и я хотел, чтобы он отправлял мне электронное письмо, когда есть промах. Вот моя конфигурация Configuration

Я создал даг-ран, который точно не попадает в слот.

from airflow import DAG
from datetime import datetime, timedelta
from airflow.operators.bash_operator import BashOperator

args = {
    'owner': 'airflow'
    , 'depends_on_past': False
    , 'start_date': datetime(2018, 8, 17, 0, 0)
    , 'retries': 0
    , 'sla': timedelta(seconds=15)
    , 'email': ['[email protected]']
    , 'email_on_failure': True
    , 'email_on_retry': True
}

dag = DAG('sla-email-test'
          , default_args=args
          , max_active_runs=1
          , schedule_interval="@daily")

t1 = BashOperator(
    task_id='timeout',
    bash_command='sleep 60',
    retries=0,
    dag=dag,
)

К сожалению, он не отправил никаких электронных писем. Вывод

Что может быть причиной, могу ли я использовать графический интерфейс, чтобы просмотреть логи об этом?

20.08.2018

  • Как настроен почтовый компонент вашего сервера, если вы используете localhost? 20.08.2018
  • Я бы попробовал другой SMTP-сервер, чтобы исключить проблему с локальным. Вы можете использовать Gmail или зарегистрироваться для получения бесплатной учетной записи mailgun 20.08.2018

Ответы:


1

Если вы используете локальную sendmail, измените конфигурацию воздушного потока, соответствующую приведенной ниже. Вам не нужны smtp_user или smtp_password.

[email]
email_backend = airflow.utils.email.send_email_smtp


[smtp]
# If you want airflow to send emails on retries, failure, and you want to use
# the airflow.utils.email.send_email_smtp function, you have to configure an
# smtp server here
smtp_host = localhost
smtp_starttls = False
smtp_ssl = False
# Uncomment and set the user/pass settings if you want to use SMTP AUTH
#smtp_user = not used
#smtp_password = not used
smtp_port = 25
smtp_mail_from =  [email protected]

Вы можете следить за работником воздушного потока, чтобы узнать, пытается ли он отправить электронное письмо, используя команду: journalctl -u airflow-worker -f

Вы также можете просмотреть свои журналы sendmail, используя: cat /var/log/maillog.

Это должно решить вашу проблему / дать вам достаточно информации для отладки.

Вот моя запись о том, как мы справились с этой проблемой, когда столкнулись с ней: электронное письмо Airflow в случае сбоя.

20.08.2018
Новые материалы

Угловая структура архитектуры
Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

«Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

Создайте API с помощью Python FastAPI
Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

Веселье с прокси-сервером JavaScript
Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...