ブックマーク / rochefort.hatenablog.com (3)

  • unicornでダウンタイムなしに再起動する - rochefort's blog

    ダウンタイム無しってすごい。 でも、そんな実行環境は今のところ必要ないので monitの監視程度まで試したら、passengerに移行するやもしれません。 USR2時に旧プロセスを停止する 設定 ruby/1.9.1/gems/unicorn-4.1.1/examples/unicorn.conf.rb や unicorn.conf.rb にサンプルがありますが before_forkというcallbackが使えて、下記のように旧プロセスに対してシグナルを発行することが可能です。 old_pid = "#{server.config[:pid]}.oldbin" if old_pid != server.pid begin sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU Process.kill(sig, F

    unicornでダウンタイムなしに再起動する - rochefort's blog
    kksg
    kksg 2012/02/26
  • Rails3.1.0へのupgrade方法 - rochefort's blog

    #282 Upgrading to Rails 3.1 - RailsCastsを見て、 The Ruby Toolbox SearchをRails3.1.0に移行してみましたが、 (諸問題があり未デプロイ http://www.toolboxsearch.tk/ こっちに移行してデプロイしてます ) 思ったより大変でした。 いろいろ嵌ったので、個人的にはRail2.3からRail3.0への移行よりしんどい印象です。 productionでの確認は要実施です。 あと、asset pipelineは、多分はまると思うので Ruby on Rails Guides: Asset Pipelineを一読するのが よいかと思います。 準備 1.「3.0系」の最新(3.0.10)へupgrade 1)Gemfile内のrailsのversionをあげる 2)bundle update rails 3

    Rails3.1.0へのupgrade方法 - rochefort's blog
    kksg
    kksg 2011/09/26
  • rubyでurlのencode - rochefort's blog

    URI.encodeだっけCGI.escapeだっけ、そういえばuってaliasなかったけとなったので ソース見てみました。 結論 こちらで議論されているように、CGI.escapeとERB::Util.uでは挙動が異なります。 ruby -r cgi -r erb -e 'puts CGI.escape("a b"), ERB::Util.u("a b")' $ ruby -r cgi -r erb -e 'puts CGI.escape("a b"), ERB::Util.u("a b")' a+b a%20b 基は、ERB::Util.uでいいのかな。(Railsのviewで使うならuでok) CGI.escapeの方が早いらしいのでこの差を意識しない場合のみCGI.escapeでしょうか。 ソース抜粋 URI.encode 使っちゃダメです。 obsoleteでした。 #1.9.

    rubyでurlのencode - rochefort's blog
    kksg
    kksg 2011/09/06
  • 1