WhenDone сообщит вам через Slack и/или Telegram, когда ваша функция будет выполнена!

Часто при работе с машинным обучением для обучения модели может потребоваться некоторое время. Чтобы упростить задачу, я создал эту библиотеку, которая будет уведомлять вас о выполнении вашей функции или о возникновении исключения. Сама библиотека говорит сама за себя, я объясню более подробно в этой статье.

Зачем использовать WhenDone?

Преимущество этой библиотеки заключается в том, что она уведомит вас, если ваша функция завершилась или произошло исключение, а также укажет в сообщении, сколько времени потребовалось для запуска вашей функции. В последнее время и во время моей учебы/карьеры при моделировании моделей глубокого обучения и их обучении требовалось несколько часов/дней, и время от времени мне нужно было проверять, как идут дела. С помощью WhenDone он уведомит, когда модель завершит обучение или возникнет исключение, чтобы я знал, что нужно пойти и проверить это.

Библиотека также решает некоторые проблемы, когда при добавлении токена Telegram обычно бот Telegram перезагружается обычно через 24 часа, чтобы решить эту проблему; chat_id будет сохранен в отдельном файле .txt. Библиотека проверит, доступна ли она, если да, то проверит chat_id. После этого он отправит ваше сообщение!

Использование WhenDone

Во-первых, нам нужно pip установить библиотеку WhenDone:

pip install whendone

Теперь, чтобы использовать это:

from whendone import WhenDone
import time

notifier = WhenDone(telegram_token=“XXX”, slack_token=“XXX”)
# Only if slack token is added
notifier.addSlackChatID(id=“1234”)

@notifier.whendone
def TestFunc(msg)
    time.sleep(1.5)
    print(msg)

TestFunc(“msg”)

Когда вы выполните этот фрагмент кода с правильным токеном, он выведет:

Теперь представьте, что есть исключение:

from whendone import WhenDone
import time

notifier = WhenDone(telegram_token="XXX", slack_token="XXX")
# Only if slack token is added
notifier.addSlackChatID(id="1234")

@notifier.whendone
def TestFunc(msg)
    time.sleep(1.5)
    raise Exception
    print(msg)

TestFunc("msg")

Когда это будет выполнено, оно выведет:

Заключительные слова.

Надеюсь, эта библиотека окажется для вас полезной, просто попробуйте ее, и если возникнут какие-либо проблемы или/и вы захотите внести свой вклад, просто дайте мне знать на GitHub!

Программное обеспечение

Давайте общаться