Sha256: 113281dbb7b6c6eaf58fc9fcb1b42429eb3be6c89d4c862ae2e975ebe52857b5
Contents?: true
Size: 1002 Bytes
Versions: 21
Compression:
Stored size: 1002 Bytes
Contents
require 'spec_helper' describe Upsert do describe "is thread-safe" do it "is safe to use one-by-one" do upsert = Upsert.new $conn, :pets assert_creates(Pet, [{:name => 'Jerry', :gender => 'neutered'}]) do ts = [] 10.times do ts << Thread.new do sleep 0.2 upsert.row({:name => 'Jerry'}, :gender => 'male') upsert.row({:name => 'Jerry'}, :gender => 'neutered') end ts.each { |t| t.join } end end end it "is safe to use batch" do assert_creates(Pet, [{:name => 'Jerry', :gender => 'neutered'}]) do Upsert.batch($conn, :pets) do |upsert| ts = [] 10.times do ts << Thread.new do sleep 0.2 upsert.row({:name => 'Jerry'}, :gender => 'male') upsert.row({:name => 'Jerry'}, :gender => 'neutered') end ts.each { |t| t.join } end end end end end end
Version data entries
21 entries across 21 versions & 1 rubygems