Guest User

Untitled

a guest
Aug 26th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. # config/server.rb
  2. require "em-synchrony"
  3. require "em-synchrony/mysql2"
  4.  
  5. config['db'] = EM::Synchrony::ConnectionPool.new(:size => 25) do
  6. ::Mysql2::EM::Client.new({
  7. :adapter => 'em_mysql2',
  8. :database => 'shard001',
  9. :username => 'xxx',
  10. :password => 'xxx',
  11. :host => 'localhost',
  12. :reconnect => true})
  13. end
  14.  
  15.  
  16.  
  17. # server.rb
  18. def response(env)
  19. ...
  20. multi = EventMachine::Synchrony::Multi.new
  21.  
  22. ids.each do |id|
  23. multi.add id, db.aquery("select * from users where id = #{id}")
  24. end
  25.  
  26. users = []
  27. res = multi.perform
  28. res.responses[:callback].each do |res|
  29. res.last.callback{|r| users << r.first}
  30. end
  31. ...
  32. end
Add Comment
Please, Sign In to add comment