背景
- ダウンロードや、機械学習の学習など、長い時間がかかる処理が終わった時に、Slackに通知するようにしたい
- ntfy があったので使ってみる
目的
- ntfyを使って見る
概要
- ntfyについて
- 使い方
結論
- ほんの数分で環境を作ることができた。素晴らしい
sh some_task.sh; ntfy send "Finished"
のように通知が可能
すでに動いているプロセスがある場合は、
pstree -p
などでプロセスIDを調べて
while kill -0 <PID> 2> /dev/null; do sleep 1; done; ntfy send "Finished"
で通知が可能
内容
ntfyについて
- LICENSEはGPL
- pythonで実装されている
- いろいろな通知との連携が実装されている
- 今回はそのうち、Slackとの連携をやってみる
使い方
1. Slackの部屋を作成する
今回は、#general
の部屋に通知をする
2. Slackのトークンを作成
[https://api.slack.com/web#authentication]
(https://api.slack.com/web#authentication)こちらから作成可能
3. python環境の構築
pipが使える状態にする
- '2.7'
- '3.3'
- '3.4'
- '3.5'
travis.ymlを見ると、上記のバージョンで実行できそうである
4. ntfyのインストール
sudo pip install ntfy
echo 'eval "$(ntfy shell-integration)"' >> ~/.bashrc
source ~/.bashrc
5. 設定ファイルの追加(~/.ntfy.yml)
---
backends:
- slack
slack:
token: slacktoken
recipient: "#general"
6. 実行テスト
$ ntfy send "test"
これで、SlackにポストされていればOK!