タグ

ブックマーク / higelog.brassworks.jp (4)

  • WheneverでRailsのバッチ処理 - ひげろぐ

    WheneverはCronを利用して繰り返し処理を行うためのライブラリ。 シェルコマンドやRailsのRunner、RakeタスクなどのジョブをCronで実行できる。 実際のところCrontabへの登録を補助してくれるだけなのだが、そのシンプルさがかえって分かりやすい。 バッチ処理の管理にうってつけ。 タイトルではRailsとなっているがRails以外でも利用できる。 以下はRails3での使い方メモ。 導入 Gemfileに以下の行を追加してbundle install gem 'whenever', :require => false schedule.rbの編集 config/schedule.rbにスケジュール設定を書いていく。 bundle exec wheneverize . を実行するとひな形を作ってくれるので、それを元に編集していくのが吉。 スケジュールは「every」に続

  • 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 } 複数サーバーで実行されると負荷などが面倒になりそうな処理を実行

  • Pow経由でNanocのプレビューサーバーを動かす - ひげろぐ

    PowでNanocのオートコンパイル付きプレビューサーバーにアクセスできたら素敵なのではないかと思い、それ用のconfig.ruを書いた。 config.ru # -*- coding: utf-8 -*- Encoding.default_external = 'UTF-8' require 'rubygems' require 'bundler' Bundler.setup require 'nanoc3' run Nanoc3::Extra::AutoCompiler.new('.') これをNanocのディレクトリに置いて.pow以下にシンボリックリンクを作ればPow経由で以下ようなURLでアクセスできるようになる。 http://my_nanoc_site.dev(ディレクトリ名がmy_nanoc_siteの場合) これでいつでもブラウザにアドレスを打ち込むだけでNanocのオー

  • RVMとCapistranoを組み合わせて使う - ひげろぐ

    デプロイ先のRubyをRVMで入れている場合、そのRubyをCapistranoが見つけてくれないのでうまくデプロイが進まない現象が起こる。 それをうまく動かすためにひと工夫。 rvm capistrano plugin Capistranoを実行するマシンとデプロイ先のマシンの両方にRVMの1.0.1以上が入っている場合は、RVMのプラグインで解決できる。これはデフォルトで入っているので特にインストールしたりする必要はない。 deploy.rbの先頭に以下のコードを追加。 set :rvm_type, :user $:.unshift(File.expand_path('./lib', ENV['rvm_path'])) require "rvm/capistrano" set :rvm_ruby_string, '1.9.2' rvm_typeはRVMをrootでインストールしている場

  • 1