Async MySQL driver for Ruby/EventMachine (c) 2008 Aman Gupta (tmm1) Requires mysqlplus and the EM.attach patch. require 'em/mysql' # alias SQL for simpler syntax SQL = EventedMysql def SQL(query, &blk) SQL.select(query, &blk) end # setup connection details and allow 4 connections to the server SQL.settings.update :host => 'localhost', :port => 3306, :database => 'test', :connections => 4 # use 4 connections to execute queries in parallel SQL('select sleep(0.25)'){ p 'done' } SQL('select sleep(0.25)'){ p 'done' } SQL('select sleep(0.25)'){ p 'done' } SQL('select sleep(0.25)'){ p 'done' }