タグ

ブックマーク / www.oiax.jp (3)

  • Resqueを利用したRailsでの非同期処理/バッチ処理

    Railsアプリケーションの中で非同期処理(バッチ処理)を実現したいことがあります。例えば、こんな場合です。 ユーザーが「送信」ボタンを押したら数千通のメールを送る。 数千通のメールを送るにはかなり時間がかかるので、その処理は後回しにして、ユーザーにはすぐにレスポンスを返したいところです。 非同期処理を行うためのRubyライブラリとしてはBackgrounDRbやdelayed_jobなどが有名ですが、もう一つ有望な選択肢としてResqueというのがあることを最近知りました。 と言っても、私が知らなかっただけで、RubyGems.orgによれば11万回以上もダウンロードされている有名なライブラリです。昨年(2010年)1月に書かれた、あるブログ記事には詳しい評価が載っています。 以下、私の試用報告を書きます。なお、OSはUbuntu 10.04(LTS)、Railsのバージョンは3.0.5

  • 第8回 deploy:rollback と deploy:cleanup

    今回は、deploy:rollback タスクと deploy:cleanup タスクについて。 deploy:update タスクを実行すると、Capistrano は Subversion などのリポジトリからソースコードをチェックアウトしてくるのだが、もう少し詳細に見ると、いろんなことをしている。 releases ディレクトリの下に現在時刻に基づく YYmmddHHMMSS 形式のサブディレクトリを作り、そこに最新のソースコードをチェックアウトする。 そのサブディレクトリに shared/log ディレクトリへのシンボリックリンクを作る。 current ディレクトリからそのサブディレクトリへのシンボリックリンクを作る。 つまり、Capistrano は以前にチェックアウトしたソースコードも取っておいて、シンボリックの作り替えによって最新版が動くようにしているわけだ。 deploy

  • Capistrano 入門 - Ruby on Rails with OIAX

    Capistrano とは何か。それは、デプロイメントのツールである。 デプロイメントとは何か。Web アプリケーションについて言えば、それは以下のようなタスク全般を指す言葉である。 アプリケーションを番サーバにインストールすること。あるいは、最新版に更新すること。 Web サーバを起動、再起動、停止すること。 Web サイトをメンテナンス中にすること。あるいは、通常の状態に戻すこと。 世の中に向けて Web アプリケーションを公開しているなら、こうしたタスクは日常茶飯事である。 最初は少し面白いけれど、基的な退屈な作業だ。 怠惰を美徳とする我々プログラマは、もちろんこんな状況に甘んじるわけにはいかない。 というわけで、Capistrano について研究をしていこうと思う。

    Capistrano 入門 - Ruby on Rails with OIAX
  • 1