Tôi đang cố gắng tạo lại một điều kiện chủng tộc trong một thử nghiệm, vì vậy tôi có thể thử một số giải pháp. Tôi thấy rằng trong các chủ đề tôi tạo ra trong bài kiểm tra của tôi, ActiveRecord luôn trả về 0 cho số và không tìm kiếm. Ví dụ, với 3 hàng trong bảng "foos":Yêu cầu ActiveRecord đa luồng trong rspec
it "whatever" do
puts Foo.count
5.times do
Thread.new do
puts Foo.count
end
end
end
sẽ in
3
0
0
0
0
0
test.log cho thấy truy vấn dự kiến, dự kiến 6 lần:
SELECT count(*) AS count_all FROM `active_agents`
Bất kỳ ý tưởng những gì đang xảy ra ở đây?
Tôi đã gặp vấn đề rất giống với mô tả và giải pháp @ henning-koch đã giải quyết nó cho tôi. Tôi đã thêm mã vào giải pháp của mình ở trên (cần phải được chấp nhận bởi người khác). –
Mẹo rất hay! –