タグ

2012年6月11日のブックマーク (2件)

  • Rails でバッチ処理 - akishin999の日記

    色々な方法があるみたいですが、Rails の仕組みをそのまま利用できるので、以下のような構成に落ち着きました。 まず、バッチスクリプトを配置するためのディレクトリ(ここでは #{RAILS_ROOT}/app/batches )を作成します。 ディレクトリ構造 exampleapp ├─app │ ├─controllers │ ├─helpers │ ├─models │ ├─views │ └─batches <= batches ディレクトリを作成し、その下にファイルを格納する │ └─foo │ └─bar.rb ├─config ├─db ├─lib ├─log ├─public ├─script ├─test ├─tmp └─vendor 追加したディレクトリを lib ディレクトリなどと同様、Rails に自動的に読み込んでもらうには、config/environment.r

    Rails でバッチ処理 - akishin999の日記
  • CapistranoでWhenever - ひげろぐ

    昨日の続き。 Whenever標準でCapistranoのタスクが用意されているので、簡単に組み合わせることができる。 deploy.rbの編集 以下の行を適当な場所に挿入。例えばロールを定義している下あたりとか。 set :whenever_command, "bundle exec whenever" require "whenever/capistrano" これだけでもうcap deployすればconfig/schedule.rbの内容がCrontabに反映されるようになる。 ロールの設定 Wheneverの対象となるデフォルトのロールは:dbになっている。 必要ならば:appに変更したり、適当に:batchなどのロールを作ってdeploy.rbに書く。 set :whenever_roles, { :batch } 複数サーバーで実行されると負荷などが面倒になりそうな処理を実行