Автор: Александр Гончаренко
Редактура: Илья Бакалец
Когда мы обрабатываем большие данные или обучаем модели, мы хотим знать, а что с ними вообще происходит. Ранее мы рассказывали, как можно мониторить эти процессы с помощью tensorboard и clearml (про него было целых две статьи). Однако часто нам не хочется тратить время на постоянный скроллинг дашбордов. В этом случае на помощь приходят уведомления! Например, уведомление о том, что какой-то этап пайплайна завершился (или упал). А ещё — о том, что обученная на новых данных модель показывает плохие результаты.
Есть очень много библиотек, которые позволяют отправлять уведомления в тот или иной мессенджер, на почту или через смс, и сегодня мы познакомимся с одним из них.
Apprise — это библиотека, которая поможет отправить вам уведомление (почти) куда угодно! 😎
Основной объект данной библиотеки — Apprise.
ap_obj = apprise.Apprise()
Для начала нам нужно определиться, куда и кому мы будем отправлять уведомления. Apprise поддерживает разные способы отправки уведомлений: Discord, Email, Telegram, WhatsApp, Mattermost, Slack и еще более 100 сервисов.
Мы сегодня остановимся на двух популярных способах — Telegram и Email (Gmail).
Для добавления сервиса отправки уведомлений нужно сначала создать строку с параметрами и настройкой сервера.
Для Gmail она будет выглядеть таким образом:password_gmail. Это пароль приложения из пункта «Предварительная настройка Gmai». Он выглядит примерно так — aaaa bbbb cccc ddd:
gmail_string = f"mailto://{user_gmail}:{password_gmail}@gmail.com/[email protected]/[email protected]"
Сначала идёт информация о том, что мы используем электронную почту mailto:// , далее — передаём логин, пароль и получателей сообщений, перечисленных через /, как в примере выше:/[email protected]/[email protected] (можно отправлять сообщения в том числе на почту, которая использовалась для создания приложения в Google).
Аналогично для Telegram — маркер tgram://, токен и ID получателей, перечисленные через /.
tg_string = f"tgram://{tg_token}/{id_1}/{id_2}"