/usr/share/doc/ruby-mysql2/examples/threaded.rb is in ruby-mysql2 0.4.10-0ubuntu5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # encoding: utf-8
require 'mysql2'
require 'timeout'
# Should never exceed worst case 3.5 secs across all 20 threads
Timeout.timeout(3.5) do
20.times.map do
Thread.new do
overhead = rand(3)
puts ">> thread #{Thread.current.object_id} query, #{overhead} sec overhead"
# 3 second overhead per query
Mysql2::Client.new(:host => "localhost", :username => "root").query("SELECT sleep(#{overhead}) as result")
puts "<< thread #{Thread.current.object_id} result, #{overhead} sec overhead"
end
end.each(&:join)
end
|