タグ

RubyとMySQLに関するtrashsuiteのブックマーク (3)

  • Infosia, Inc. » Blog Archive » Ruby から Q4M を使ってみる

    前回、Q4M(Message Queue for MySQL) を Debianにインストールできたので、今度は実際にキューを使用するアプリを書いてみたいと思います。 まずはキューに URL を入れてそれを取り出すだけの簡単なプログラムを作ってみます。使用言語は Ruby。キューへのアクセスには ActiveRecord を使って簡単なライブラリにしてみました。 まずはテーブル作成、初期データ投入。 CREATE DATABASE q4m; USE q4m; CREATE TABLE queue (url text) ENGINE=queue; INSERT INTO queue(url) VALUES('http://www.infosia.co.jp/'); 続いてアプリ側。 require 'rubygems' require_gem 'activerecord' ActiveRec

  • MySQLPlus と NeverBlock

    前に Rails がマルチスレッドになっても MySQL のドライバとかがブロックしたらダメじゃないの? という話をちらっと書いた. やっぱりダメというのが結論らしい. MySQLplus は そんな問題に対処する rubyMySQL ドライバ拡張だというので眺めてみた. MySQLAPI がブロッキングで困るだなんて, まったく他人事には思えない. MySQL ドライバの API は基的にマルチスレッド+ブロッキングを前提とした設計をしており, 刺さりそうな場所は多い. 中でも一番困りそうなのは mysql_query() や mysql_real_query() だろう. ばしっとクエリーを投げて結果を受けとるこれらの API は, MySQL から返事が戻ってくるまでデータを待ち続ける. MySQL/Ruby もこの API を使っている. 普通に考えるとお手上げに見え

  • Magic Multi-Connections

    Ruby on Rails → ActiveRecords WARNING Despite the 1.0.0 version number, various people have experienced problems using this tool. I haven’t yet found a solution (I haven’t really been looking though), so please subscribe to the forum or RubyForge news for any updates on a solution. What ActiveRecord models are allowed one connection to a database at a time, per class. Ruby on Rails sets up the d

  • 1