Skip to content

Instantly share code, notes, and snippets.

Forked from crigor/connect.rb
Last active September 28, 2016 20:33
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
Modified version of tpol's script. Uses mysql2 gem.
# gem install mysql2 -v 0.3.12b6
require 'rubygems'
require 'json'
#require 'mysql'
require 'mysql2'
def usage
puts "USAGE: connect.rb <connections> [<runtime>]"
usage unless ARGV.length >= 1
connections, runtime = ARGV
runtime = runtime.nil? ? 100 : runtime.to_i
conn_arry = []
node = JSON.parse('/etc/chef/dna.json'))
database = node['engineyard']['environment']['apps'].first['database_name']
db_pass = node['engineyard']['environment']['ssh_password']
db_user = node['users'].first['username']
db_host = node['db_host']
# override db_host to reference first replica
db_host = node['db_slaves'].first
(1..connections.to_i).each do |n|
conn_arry[n - 1] = :host => db_host, :username => db_user, :password => db_pass, :database => database)
puts "Progress: #{n} connections" if n % 2000 == 0
rescue Exception => e
puts e.message
puts "Reached #{conn_arry.length} of #{connections}"
sleep (runtime)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment