document

herokuでバッチ処理をしようと思っていたが、cronのアドオンは無料は1日に一回までで、有料でも数時間の制限があるようだ。
試行錯誤しているうちにcronのアドオンを使わないでバッチ処理ができる方法をたまたま見つけた。

*2012年7月の情報だと、cronのアドオンの代わりに、Heroku Schedulerが推奨されてて、最短で10分ごとにバッチ処理してくれるようだ。

Heroku Scheduler | Heroku Dev Center <https://devcenter.heroku.com/articles/scheduler#migrating_from_the_cron_addon>

Heroku Scheduler | Add-ons | Heroku <https://addons.heroku.com/scheduler>

やり方

herokuアプリを開発しているクライアントマシンで,herokuアプリのrootディレクトリで下のコマンドを叩く

$heroku run rails runner Model.method

これをX分に一度叩くようにクライアントマシンのcronで設定すればOK

$rails runner Model.method

はrailsでのバッチ処理の方法

クライアントマシンが常時稼働している必要があるが、herokuを無料で有効活用できる方法だと思う。

この方法でもお金がかかる

これでも、バッチの処理に時間がかかると、無料分のプロセス( one-off-processes 無料分は1時間ぐらい?)を使い切ってしまって、課金されてしまいました。。。(37$)

無料の範囲内に抑えたい場合は、やっぱり重いバッチ処理は、一回サーバーを切って処理したほうがいいですね。

参考リンク

あんまりない。試したらできた。

ruby - How do you run "Rails Runner" in heroku? - Stack Overflow <http://stackoverflow.com/questions/10055499/how-do-you-run-rails-runner-in-heroku>

Heroku cron系アドオン 参考リンク

Herokuのcronを使って自動でTwitterにつぶやく - アインシュタインの電話番号☎ <http://d.hatena.ne.jp/ruedap/20110201/ruby_heroku_sinatra_cron_twitter_tweet>

Herokuでcron?もう古いかも、それ - Meltdown Countdown rev. <http://marutanm.hatenablog.com/entry/20110719/p1>


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-10-31 (水) 13:34:22 (2421d)