fix async

This commit is contained in:
jxxghp
2025-07-31 13:32:47 +08:00
parent ee4d6d0db3
commit 6873de7243
7 changed files with 133 additions and 18 deletions

View File

@@ -5,11 +5,13 @@ import logging
import time
from datetime import datetime
import httpx
import requests
import requests.exceptions
from app.core.cache import cached
from app.core.config import settings
from app.utils.asyncio import AsyncUtils
from app.utils.http import RequestUtils, AsyncRequestUtils
from .exceptions import TMDbException
@@ -17,14 +19,13 @@ logger = logging.getLogger(__name__)
class TMDb(object):
_req = None
_async_req = None
_session = None
def __init__(self, obj_cached=True, session=None, language=None):
def __init__(self, obj_cached=True, session=None, client=None, language=None):
self._api_key = settings.TMDB_API_KEY
self._language = language or settings.TMDB_LOCALE or "en-US"
self._session_id = None
self._session = session
self._client = client
self._wait_on_rate_limit = True
self._debug_enabled = False
self._cache_enabled = obj_cached
@@ -34,13 +35,14 @@ class TMDb(object):
self._total_results = None
self._total_pages = None
if session is not None:
self._req = RequestUtils(session=session, proxies=self.proxies)
else:
if not self._session:
self._session = requests.Session()
self._req = RequestUtils(session=self._session, proxies=self.proxies)
# 初始化异步请求客户端
self._async_req = AsyncRequestUtils(proxies=self.proxies)
self._req = RequestUtils(session=self._session, proxies=self.proxies)
if not self._client:
self._client = httpx.AsyncClient()
self._async_req = AsyncRequestUtils(client=self._client, proxies=self.proxies)
self._remaining = 40
self._reset = None
self._timeout = 15
@@ -277,3 +279,5 @@ class TMDb(object):
def close(self):
if self._session:
self._session.close()
if self._client:
AsyncUtils.run_async(self._client.aclose())