28 Mar '12, 6am

“Resqueを利用したRailsでの非同期処理/バッチ処理 - Rails 雑感 - Ruby on Rails with OIAX”

Railsアプリケーションの中で非同期処理 (バッチ処理)を実現したいことがあります。例えば、こんな場合です。 ユーザーが「送信」ボタンを押したら数千通のメールを送る。 数千通のメールを送るにはかなり時間がかかるので、その処理は後回しにして、ユーザーにはすぐにレスポンスを返したいところです。 非同期処理を行うためのRubyライブラリとしてはBackgrounDRb やdelayed_job などが有名ですが、もう一つ有望な選択肢としてResque というのがあることを最近知りました。 と言っても、私が知らなかっただけで、RubyGems.org によれば11万回以上もダウンロードされている有名なライブラリです。昨年(2010年)1月に書かれた、あるブログ記事 には詳しい評価が載っています。 以下、私の試用報告を書きます。なお、OSはUbuntu 10.04(LTS)、Railsのバージョンは3.0.5です。 ResqueはバックエンドとしてRedis を用います。最近話題のNoSQL データベースの一種です。まず、これをインストールします。 $ sudo apt-get install redis-server インストールに成功したら、念のためバージョン番号を確認します。 $ redis-cli --version redis-cli 2.2.2 続いて、動作確認のためのRailsアプリケーションを作ります。名前は適当に、kodamaとしておきましょうか。 $ rails new kodama $ cd kodama Gemfileに必要なgemライブラリを列挙します。 source 'http://rubygems.org' gem 'rails', '3.0.5' gem 'sqlite3' gem 'resque' gem 'SystemTimer', :platform => :ruby_18 [訂正] SystemTimer は Ruby 1.9 では不要です。 gemライブラリをインストールします。 $ bundle inst...

Full article: http://www.oiax.jp/rails/zakkan/resque.html

Tweets

Ruby on Railsで複合キーを扱う(3)

oiax.jp 27 Mar '12, 1pm

# coding: utf-8 require 'spec_helper' describe Department do let(:department0) { FactoryGirl.create(:department, code: "ro...

Sam Ruby: Keeping it on the Rails

intertwingly.net 28 Mar '12, 9pm

The previous error that was caught was connection pool of new applications have size 1 . This demonstrates the unique valu...

Ruby on Railsで複合キーを扱う(7) -- 補遺

Ruby on Railsで複合キーを扱う(7) -- 補遺

oiax.jp 31 Mar '12, 3pm

date = Date.new(2010, 1, 1) %w(robot automobile ship).each do |code| Department.create!({ code: code, name: code.capitaliz...

“Capistrano 入門 - Ruby on Rails with OIAX”

“Capistrano 入門 - Ruby on Rails with OIAX”

oiax.jp 29 Mar '12, 12pm

Capistrano とは何か。それは、デプロイメントのツールである。 デプロイメントとは何か。Web アプリケーションについて言えば、それは以下のようなタスク全般を指す言葉である。 アプリケーションを本番サーバにインストールすること。あるいは...

[railscasts] Upgrading to Rails 3.2

railscasts.com 01 Apr '12, 9am

Rails 3.2 sports many new features including automatic explain queries, tagged logging, key-value store in Active Record, ...

Am I missing something or is this page laughabl...

guides.rubyonrails.org 01 Apr '12, 2am

The very first parameter, a string, is the text of the link which appears on the page. The second parameter, the options h...

What’s New in Edge Rails #16: Week of April 1 –...

afreshcup.com 09 Apr '12, 11am

Week of April 1 - April 7, 2012 Although there were quite a few commits this past week, nearly all of them were to the doc...

Ruby on Rails Guides: Caching with Rails: An ov...

guides.rubyonrails.org 09 Apr '12, 11am

One of the issues with Page Caching is that you cannot use it for pages that require to restrict access somehow. This is w...