Hubot上でcronを動かした時のメモ。
毎日、10時に朝会の連絡をするcronを設定してみます。
準備
node-cronが必要なのでインストールする。
% npm install cron --save
node-cronのドキュメントによると次のような記法になるみたいです。
var CronJob = require('cron').CronJob;
new CronJob('* * * * * *', function(), null, true, "Timezone");
Timezoneは指定しなくても問題ないが、使う場合はtime
モジュールが必要とのこと。
% npm install time --save
※ Herokuであれば環境変数の指定でTimezoneを変更できるので、そちらで指定してもいいっぽい。
% heroku config:add TZ=Asia/Tokyo
スクリプト作成
node-cronのドキュメントを参考に、coffeescriptを書く。
cron.coffee
cron = require('cron').CronJob
module.exports = (robot) ->
new cron '0 0 10 * * 1-5', () =>
robot.send {room: "#general"}, "朝会だお"
, null, true, "Asia/Tokyo"