From 7f446835ae58521e885d335a0cfd5986552a6fe9 Mon Sep 17 00:00:00 2001 From: Benny Date: Sat, 26 Aug 2023 13:41:23 +0200 Subject: [PATCH] =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E6=B1=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yyetsweb/databases/__init__.py | 16 +++++++++++++++- yyetsweb/databases/base.py | 15 +++------------ 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/yyetsweb/databases/__init__.py b/yyetsweb/databases/__init__.py index 908d8a5b8..cea6d83cd 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 ff1267c4e..9afa2caba 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"]}})