Как настроить оповещения по электронной почте для 500 ошибок с помощью Flask? - PullRequest
0 голосов
/ 23 октября 2019

Я использую флягу, зефир и алхимию sql для создания API. Я хочу настроить оповещения по электронной почте на 500 ошибок. Другие типы ошибок у меня есть оповещения по электронной почте для работы нормально.

Код обработки ошибок

@app.errorhandler(ValidationError)
def handle_marshmallow_validation(err):  # except ValidationError as err
    return jsonify(err.messages), 400

@app.errorhandler(500)
def server_error(e):
    if e == 500:
        error_500_email()

Функция, вызываемая в обработчике ошибок 500:

def error_500_email():
    s = smtplib.SMTP(host='mailo2.uhc.com', port=25)
    text = "There was an error"
    msg = MIMEText(str(text))
    msg['Subject'] = 'Prod SA Tool Error'
    s.sendmail('sa_prod@optum.com', 'ian.christ@optum.com', msg.as_string())
    s.quit()

1 Ответ

0 голосов
/ 30 октября 2019

Я подозреваю, что условие e == 500 всегда оценивается как False, даже в случае ошибки 500.

Вы можете это исправить, но почему бы не удалить? Какова цель этого теста, если вы украсили обработчик @app.errorhandler(500)?

...