Herokuってチョウカンタンデスヨ。 という文言を入れとかないと、Herokuについて書いちゃいけない気がしたので、 とりあえず書いておいてからスタート。
Herokuを使って1日1回名言をツイートするTwitter Botの作り方(https://blog.ruedap.com/entry/20110209/ruby_heroku_twitter_bot)を読みながらTwitterBOTを作っていたら、いろいろ引っかかったのでメモしておきます。
主に何に引っかかったかというと、Herokuから「cron」が廃止されて、「scheduler」が導入されているということ。より便利に使いやすくなったのですが、ちょっととまどったのでその辺を書きます。
-
Heroku環境の構築 上のリンク(Herokuを使って1日1回名言をツイートするTwitter Botの作り方)を参照
-
プログラム作成 今回はpso2向け緊急告知TwitterBOT(/entry/2012/10/05/212150)を使った
-
初期化 プログラムのあるローカルフォルダ内で
|| $ git init $ heroku create [appname] ||<
- Gemfileを作る
||
Gemfile
source :rubygems gem 'twitter' ||< 「Gemfile」(拡張子なし)をプログラムのあるローカルフォルダに入れる Gemfileとは、プログラムに必要なgemファイル一覧だと思ってもらえれば。
- ファイルをHerokuに突っ込む プログラムのあるローカルフォルダ内で
|| $ git add . $ git commit -m "tekitou" $ git push heroku master ||< これで、ローカルフォルダの中身がHerokuに突っ込まれます。
- Schedulerを使う HerokuのWebページ(https://www.heroku.com/)にログインして、設定中のアプリを選択 [+]Get Add-ons のボタンから「Heroku Scheduler 」を選択します。 「select an app ..」のプルダウンをクリックして、設定中のアプリを選択。 「Add Standerd For Free」のボタンを押すと、Schedulerが使えるようになります。
もしくはプログラムのあるローカルファイル上で
|| $ heroku addons:add scheduler:standard ||< これでもSchedulerが使えるようになります。
アプリのページに戻り、Add-onsに「Heroku Scheduler Standard」が追加されているのを確認して、追加されたものをクリック
Heroku Schedulerの編集画面が開くので、 「Add Job..」のボタンを押して、$ の横に、実行したい「コマンド」を入力します たとえば、「ruby ./pso2ship9bot.rb」みたいな感じで そして、右側にあるFREQUENCY(実行間隔)などを設定、「save」ボタンを押すと完了です。
- 確認 これで数時間動かしてみて、 うまく動かないようなら
|| heroku ps ||< や || heroku logs ||< で動作状況を確認すると良いかと。
ひとまずそんな感じです
author:alfe_below