25 lines
867 B
Python
25 lines
867 B
Python
|
|
#Connection to Database
|
||
|
|
from psycopg2.pool import SimpleConnectionPool
|
||
|
|
import os
|
||
|
|
from dotenv import load_dotenv
|
||
|
|
|
||
|
|
load_dotenv()
|
||
|
|
|
||
|
|
db_pool = SimpleConnectionPool(
|
||
|
|
minconn=1,
|
||
|
|
maxconn=10,
|
||
|
|
host=os.getenv("DB_HOST"),
|
||
|
|
port=os.getenv("DB_PORT"),
|
||
|
|
database=os.getenv("POSTGRES_DB"),
|
||
|
|
user=os.getenv("POSTGRES_USER"),
|
||
|
|
password=os.getenv("POSTGRES_PASSWORD")
|
||
|
|
)
|
||
|
|
# Tạo ra 10 conection khác nhau, mỗi lần dùng thì vào đây lấy 1 connection ra => Nó tạo sẵn một nhóm connection. Khi cần thì lấy ra, dùng xong trả lại.
|
||
|
|
# khác với kiểu cũ là mỗi lần request khác nhau lại phải tạo mới connection nó sẽ bị nặng và lâu hơn
|
||
|
|
|
||
|
|
|
||
|
|
def get_connection():
|
||
|
|
return db_pool.getconn() # Lấy ra connection trong này
|
||
|
|
|
||
|
|
def release_connection(conn):
|
||
|
|
db_pool.putconn(conn) # trả connection lại pool này
|