📑
Pythonの関数実行の開始と終了をLINEで通知する「pyline_notify」を作成してみた!
「pyline_notify」 とは?
簡潔には 「任意のpythonスクリプトにデコレーターをつけることで、処理の開始と終了(エラー)をLINE notifyを用いて通知するPythonパッケージ」 になります。
制作の動機
自分は自然言語処理を研究する研究室に所属しており、機械学習におけるモデルの学習や推論を行うようなPythonスクリプトを扱っています。
機械学習における処理は基本的に数時間から数日など処理にとても時間のかかるもので、時間をかけて実行しても処理がうまくいかずエラーが発生したり、処理の終了にすぐに気づくことができず、次のプロセスにすぐに移行できなかったりといったことがありました。
そこでPythonスクリプトの開始と終了(またはエラーの発生)時にLINE notifyを用いてLINEに通知してくれるようなPythonのパッケージを自作し、公開しました。
実際のPythonパッケージ
以下Githubページからコードを閲覧・pip等でインストールすることができます。
TwitterやGithubのissueなどでご意見・ご感想などお待ちしております!
使い方
from pyline_notify import notify
from time import sleep
LINE_TOKEN = "YOUR_LINE_NOTIFY_TOKEN"
# ↓このデコレーターを追加
@notify(LINE_TOKEN)
def main():
print("Hello World")
sleep(5)
if __name__ = "__main__":
main()
上記のような形で、既存のコードにimport文とデコレーターの2行を追加するだけで簡単に通知をすることができます。
@notify(LINE_TOKEN)
def main():
raise Exception("Error!")
if __name__ = "__main__":
main()
エラーが発生した場合は、エラー文も通知してくれます。
参考にさせていただいたサイト
こちらの記事を元に今回のスクリプトの大枠を組ませていただきました。
LINEの通知はこちらを参考にしました。PythonのRequestパッケージで簡単にLINE Notifyを用いてとても簡単に通知を飛ばすことができました〜!!
自分のその他のスクリプトにも使えそうだな〜と思います。
終わりに...
同じようなニーズを抱えていらっしゃる方がいればぜひ......
使ってみた感想などもしあればTwitterなど気軽にご連絡ください!
Discussion