こんにちは! JQです。
前回は『OSS編~Hubotを試してみる03~』と題して、HubotのAdapterを試してみました。
今回は『OSS編~Hubotを試してみる04~』と題して、HubotでCronと永続化機能を試してみたいと思います。
定期実行を試してみる
1.モジュールのインストール
先ずは定期実行に必要なモジュールをインストールします。
1 |
$ npm install --save cron |
2.スクリプトの設定
定期実行するスクリプトを用意します。
以下では毎秒に時刻を通知します。
1 2 3 4 5 6 7 8 |
$ vim scripts/cron.coffee cronJob = require('cron').CronJob module.exports = (robot) -> new cronJob('* * * * * *', () => envelope = room: "xxxx_xxxxxx@conf.hipchat.com" robot.send envelope, "#{new Date()}" ).start() |
3.実行
実行してみます。
1 |
$ bin/hubot -a hipchat |
定期的に実行されているのがわかります。
永続化機能
1.Redisのインストール
Hubotではデータの保管にデフォルトでRedisを利用します。
1 2 |
$ vim hubot-scripts.json ["redis-brain.coffee", "shipit.coffee"] |
先ずはRedisをインストールします。
1 2 3 |
$ sudo yum -y install redis --enablerepo=epelsu $ sudo /etc/rc.d/init.d/redis start $ sudo chkconfig redis on |
2.スクリプトの作成
Hubotにhelloした回数を記録してみます。
1 2 3 4 5 6 7 8 9 |
$ vim scripts/hello.coffee module.exports = (robot) -> robot.hear /HELLO$/i, (msg) -> unless robot.brain.data.test robot.brain.data.test = 0 robot.brain.data.test++ robot.brain.save() msg.send "hello!: count is #{robot.brain.data.test}." |
3.実行
それでは実行してみます。
1 |
$ bin/hubot -a hipchat |
カウントされているのが分かります。
一度、Hubotを停止して再度起動して試してみます。
「left the room」して再開した後でも継続しているのがわかります。
いかがでしたでしょうか?
次回もお楽しみに!!!