LoginSignup
2
1

More than 5 years have passed since last update.

Heroku上でHubotを動かす

Last updated at Posted at 2015-12-10

まあ前回の続き
http://qiita.com/manabukk/items/6d047097a945250138d0

DynoプランでのSleep問題の解決

HerokuでHubotを指定の時間に寝かせる
http://sota1235.hatenablog.com/entry/2015/06/10/130000
を参考にした。そのまんま。

時刻を取得しての定期的な発言を実装する

Heroku+HubotでCodeDeployのデプロイをSlackから実行する
http://qiita.com/toshihirock/items/7598ab59b2c687b77cb6
を参考にする。

GUIからRedis To Goのnanoプランを追加。
heroku apps:infoで確認したらちゃんと追加されてた。

上記でWebURLとなっている部分を環境変数HUBOT_HEROKU_KEEPALIVE_URLで設定する。
$heroku config:set HUBOT_HEROKU_KEEPALIVE_URL=https://still-springs-3531.herokuapp.com/

herokuのTZを東京にする。
$ heroku config:add TZ=Asia/Tokyo

package.json
"hubot-shipit",
"hubot-cron"
external-scripts.json
"hubot-slack": "^3.3.0",
"hubot-cron": ">=0.1.0"

を追記。
npm install
でインストールが行われる。

$ ./bin/hubot -a shell -n manabukk
$ manabukk new job 0 45 22 * * * "Good Evening!"

を実行してみると、ちゃんと22時45分にGood Evening!って言ってくれた。

これをadd,commit,pushする。

問題

やはりHerokuがSleepしてしまう。
とりま起こしてからslackからnew job 0 45 22 * * * "Hi!"と実行すると受け付けてもらえた。

Heroku 上で動く Hubot をうまく休ませる
http://qiita.com/misopeso/items/8cde2ecbb82e7bfc01b4
HubotをHerokuのFree dynoに対応させる
http://blog.spacemarket.com/code/hubot-on-heroku-free-dyno/

を参考にWAKEUPとSLEEPの環境変数を設定してみる。最悪上の参考ソースをまるまるコピーしてみようか。

あとは、
HerokuのFreeプランでアプリを最大限起動しっぱなしにする方法(1日18時間まで)
https://iimuz.github.io/2015/11/11/hubotKeepalive.html
というのもある。

(11/25)
HerokuのFreeプランでアプリを最大限起動しっぱなしにする方法(1日18時間まで)
https://iimuz.github.io/2015/11/11/hubotKeepalive.html
を完全にまねてみた。

解決!?

Can't set night owl schedule
https://github.com/hubot-scripts/hubot-heroku-keepalive/issues/17

ここにあるように、sleeptimeは朝2時なら26:00と表記する必要があるぽい
これでしばらくは満足に動作した。

次回

2
1
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
2
1