Async MySQL driver for Ruby/EventMachine (c) 2008 Aman Gupta (tmm1) == Fork comments Can work with multiple databases. db = Sequel.mysql config EventedMysql.databases[db] ||= EmMysql.new(config) db2 = Sequel.mysql config2 EventedMysql.databases[db2] ||= EmMysql.new(config2) 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
Project
em-mysql
Async MySQL client API for Ruby/EventMachine. prepor fork
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
Development
Dependencies
Runtime
>= 0.12.9
Project Readme