Forráskód Böngészése

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

[ruby/sinatra] Get ids outside of database connection
Mike Smith 6 hónapja
szülő
commit
21bf03c00b

+ 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