소스 검색

Update DB pools to increase throughput

Jesterovskiy 9 년 전
부모
커밋
fc726db1eb
1개의 변경된 파일6개의 추가작업 그리고 2개의 파일을 삭제
  1. 6 2
      frameworks/Crystal/kemal/server-postgres.cr

+ 6 - 2
frameworks/Crystal/kemal/server-postgres.cr

@@ -21,12 +21,16 @@ ID_MAXIMUM = 10_000
 
 private def randomWorld
   id = rand(1..ID_MAXIMUM)
-  result = DB.connection.exec({Int32, Int32}, "SELECT id, randomNumber FROM world WHERE id = $1", [id]).rows.first
+  conn = DB.checkout
+  result = conn.exec({Int32, Int32}, "SELECT id, randomNumber FROM world WHERE id = $1", [id]).rows.first
+  DB.checkin(conn)
   {:id => result[0], :randomNumber => result[1]}
 end
 
 private def setWorld(world)
-  DB.connection.exec("UPDATE world set randomNumber = $1 where id = $2", [world[:randomNumber], world[:id]])
+  conn = DB.checkout
+  result = conn.exec("UPDATE world set randomNumber = $1 where id = $2", [world[:randomNumber], world[:id]])
+  DB.checkin(conn)
   world
 end