なんかのバッチを実行していて、それが出力するログをじわじわチャットへ通知したい。(そのバッチはそれなりに時間がかかるものとする) 何も考慮しなければ、たとえばslackであれば、 # #!/bin/bash # notify_chat.sh exec tee >(while read line; do curl -s --data '$line' $SLACK_ENDPOINT -o/dev/null; doneみたいにやれば、 $ ruby batch.rb | notify_chat.shで毎行slackさんへ通知してくれる。 このやり方だと、場所によってはAPIをどばっと叩いてしまって負荷をかけてしまったりするので、1秒間の出力はまとめてわたせるようにするコマンドthrottleというものを書いてみた。 $ ruby batch.rb | tee >(throttle -interv