This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
em-mysql /
| name | age | message | |
|---|---|---|---|
| |
README | Mon Jun 29 16:58:15 -0700 2009 | |
| |
em-mysql.gemspec | Mon Aug 24 12:18:24 -0700 2009 | |
| |
lib/ | Mon Aug 24 12:18:24 -0700 2009 | |
| |
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






