소스 검색

Merge pull request #9671 from p8/sinatra/ids-outside-connection

[ruby/sinatra] Get ids outside of database connection
Mike Smith 6 달 전
부모
커밋
21bf03c00b
2개의 변경된 파일8개의 추가작업 그리고 4개의 파일을 삭제
  1. 4 2
      frameworks/Ruby/sinatra-sequel/hello_world.rb
  2. 4 2
      frameworks/Ruby/sinatra/hello_world.rb

+ 4 - 2
frameworks/Ruby/sinatra-sequel/hello_world.rb

@@ -54,9 +54,10 @@ class HelloWorld < Sinatra::Base
 
   # Test type 3: Multiple database queries
   get '/queries' do
+    ids = ALL_IDS.sample(bounded_queries)
     worlds =
       DB.synchronize do
-        ALL_IDS.sample(bounded_queries).map do |id|
+        ids.map do |id|
           World.with_pk(id)
         end
       end
@@ -79,9 +80,10 @@ class HelloWorld < Sinatra::Base
   # Test type 5: Database updates
   get '/updates' do
     worlds = nil
+    ids = ALL_IDS.sample(bounded_queries)
     DB.synchronize do
       worlds =
-        ALL_IDS.sample(bounded_queries).map do |id|
+        ids.map do |id|
           world = World.with_pk(id)
           new_value = rand1
           new_value = rand1 while new_value == world.randomnumber

+ 4 - 2
frameworks/Ruby/sinatra/hello_world.rb

@@ -59,9 +59,10 @@ class HelloWorld < Sinatra::Base
 
   # Test type 3: Multiple database queries
   get '/queries' do
+    ids = ALL_IDS.sample(bounded_queries)
     worlds =
       ActiveRecord::Base.with_connection do
-        ALL_IDS.sample(bounded_queries).map do |id|
+        ids.map do |id|
           World.find(id).attributes
         end
       end
@@ -86,8 +87,9 @@ class HelloWorld < Sinatra::Base
   # Test type 5: Database updates
   get '/updates' do
     worlds = nil
+    ids = ALL_IDS.sample(bounded_queries)
     ActiveRecord::Base.with_connection do
-      worlds = ALL_IDS.sample(bounded_queries).map do |id|
+      worlds = ids.map do |id|
         world = World.find(id)
         new_value = rand1
         new_value = rand1 until new_value != world.randomNumber