diff --git a/yyetsweb/databases/__init__.py b/yyetsweb/databases/__init__.py index 908d8a5b..cea6d83c 100644 --- a/yyetsweb/databases/__init__.py +++ b/yyetsweb/databases/__init__.py @@ -5,9 +5,12 @@ # 2023-03-17 18:57 import logging +import os import pathlib import sys +import pymongo + DOUBAN_SEARCH = "https://www.douban.com/search?cat=1002&q={}" DOUBAN_DETAIL = "https://movie.douban.com/subject/{}/" @@ -17,6 +20,17 @@ from fansub import BD2020, XL720, NewzmzOnline, ZhuixinfanOnline, ZimuxiaOnline logging.info( - "Loading fansub...%s", + "Initialized: loading fansub...%s", (BD2020, XL720, NewzmzOnline, ZhuixinfanOnline, ZimuxiaOnline), ) + +client = pymongo.MongoClient( + host=os.getenv("MONGO", "localhost"), + connect=True, + connectTimeoutMS=5000, + serverSelectionTimeoutMS=5000, + maxPoolSize=300, + minPoolSize=50, + maxIdleTimeMS=600000, +) +db = client["zimuzu"] diff --git a/yyetsweb/databases/base.py b/yyetsweb/databases/base.py index ff1267c4..9afa2cab 100644 --- a/yyetsweb/databases/base.py +++ b/yyetsweb/databases/base.py @@ -7,25 +7,16 @@ import fakeredis import meilisearch -import pymongo import redis +from databases import db + faker_redis = fakeredis.FakeStrictRedis() class Mongo: def __init__(self): - self.client = pymongo.MongoClient( - host=os.getenv("MONGO", "localhost"), - connect=False, - connectTimeoutMS=5000, - serverSelectionTimeoutMS=5000, - ) - self.db = self.client["zimuzu"] - super().__init__() - - def __del__(self): - self.client.close() + self.db = db def is_admin(self, username: str) -> bool: data = self.db["users"].find_one({"username": username, "group": {"$in": ["admin"]}})