LoginSignup
89
84

More than 5 years have passed since last update.

Hubotで定期タスクを動かす

Posted at

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"
89
84
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
89
84