27 lines
837 B
Python
27 lines
837 B
Python
from common.config.app_settings import app_settings
|
|
from beanie import init_beanie
|
|
from motor.motor_asyncio import AsyncIOMotorClient
|
|
from backend.models import backend_models
|
|
|
|
|
|
def register(app):
|
|
app.debug = "auth_mongo_debug"
|
|
app.title = "auth_mongo_name"
|
|
|
|
@app.on_event("startup")
|
|
async def start_database():
|
|
await initiate_database()
|
|
|
|
|
|
async def initiate_database():
|
|
client = AsyncIOMotorClient(
|
|
app_settings.MONGODB_URI,
|
|
serverSelectionTimeoutMS=60000,
|
|
minPoolSize=5, # Minimum number of connections in the pool
|
|
maxPoolSize=20, # Maximum number of connections in the pool
|
|
heartbeatFrequencyMS=20000, # Adjust heartbeat frequency to 20 seconds
|
|
)
|
|
await init_beanie(
|
|
database=client[app_settings.MONGODB_NAME], document_models=backend_models
|
|
)
|