
FAQ:Herokuはジョブ管理などにつかえるの?
林田宏介 (アクセンチュア株式会社) 鉾之原宰 (アクセンチュア株式会社)
2012-07-05 13:04:00
本特集「HerokuではじめるPaaS開発」の第1回「FAQ:Herokuってなに?メリットは?」では、Herokuを使ってスケーラブルなWebシステムを簡単に構築できることを説明しました。
第2回目の今回は、エンタープライズシステムの導入において欠かせないバッチ処理等のバックグラウンド処理と、そのジョブの管理や監視ついて紹介していきます。
Q1:Herokuでバックグラウンド処理は扱える?
Webアプリケーションのような様々なユーザーと対話しながら実行されるリアルタイム処理とは異なり、バックグラウンド処理は、メールの一括送信やデータの削除処理といった、定期的に実行した方が効率的とされるプログラムの実行に利用します。
HerokuにはWebアプリケーションの他にもバックグラウンドで処理する機能がいくつか提供されており、利用用途に応じて使い分けることになります。ここでは以下の2つを紹介します。
Heroku Scheduler
Heroku Schedulerは、Herokuのアドオンとして提供されており、Heroku上にデプロイしたプログラムを指定の期間で繰り返し実行させることができます。
heroku runコマンド
heroku runは、HerokuよりCLI(Command Line Interface)として提供されているHerokuツールに含まれるコマンドです。このコマンドを利用することで、Heroku上のプログラムをコマンドラインから直接実行することができます。
Herokuでのバックグランド実行の単位は、前回の記事で紹介したWebアプリケーションのプロセス数単位であるWeb Dynosと同様にWorker Dynosというプロセス単位で数えられ、1 Worker毎に$0.05/hとなっています。