tmm1 / em-mysql
- Source
- Commits
- Network (7)
- Issues (0)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
em-mysql /
| name | age | message | |
|---|---|---|---|
| |
README | Mon Jun 29 16:58:15 -0700 2009 | |
| |
em-mysql.gemspec | Mon Feb 08 17:30:45 -0800 2010 | |
| |
lib/ | Mon Feb 08 17:30:22 -0800 2010 | |
| |
test.rb | Sat Sep 13 02:51:58 -0700 2008 |
README
Async MySQL driver for Ruby/EventMachine
(c) 2008 Aman Gupta (tmm1)
Requires mysqlplus.
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' }
Also includes a sequel async wrapper
require 'sequel'
require 'sequel/async'
DB = Sequel.connect(:adapter => 'mysql', :user => 'root', :database => 'test', ...)
EventedMysql.settings.update(..., :on_error => proc{|e| log 'error', e })
DB[:table].where(:field => 'value').async_update(:field => 'new value')
For more info, see the comments in lib/sequel/async.rb