herokuを用いたbotの常時運用について
やあ(´・ω・`)
勉強会で発表したものの、ブログにおこしてないトピックが何個かあるので書いてくよ。
botの常時運用
以前evernoteノートの記事をランダムにチョイスしてつぶやくbotを作りました。(記事は後日書きます)
botを常時稼働させる環境として、以前はherokuが一強でしたが
ある日を境に無料枠では18時間/日という制限がついてしまいました。。。
(残念ですが、むしろ無料というのが虫のいい話ですもんね)
AWSでEC2立てちゃう等々、やりようはありますが、
ここではあくまでも「herokuで」、「無料枠で」、運用する方法を紹介します。
といってもかなりごり押し感満載なので参考までに。。。
herokuの制約
1時間以上アクセスがないとsleepする
じゃあ1時間に1回アクセスすればいいじゃん、ということでheroku schedulerというアドオンを使います。
elements.heroku.com
これでherokuにアクセスするコマンド(curl)を毎時実行してsleepを防ぐわけです。
18時間/日しか動かせない
じゃあ18時間以内に抑えればいいじゃんということで、今度はprocess schedulerというアドオンを使います。
elements.heroku.com
これでアプリを二つデプロイして、各々以下の設定をします。
アプリを二つデプロイするところがだいぶごり押しですが、めでたく無料枠で常時運用が可能です!
やったね!