Concurrent calls to the Wenxin model, and the exception problem when obtaining the token is fixed (#7976)

Co-authored-by: puqs1 <puqs1@lenovo.com>
This commit is contained in:
wochuideng 2024-09-04 21:44:57 +08:00 committed by GitHub
parent fb113a9479
commit f6b9982c23
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -79,11 +79,13 @@ class BaiduAccessToken:
# if access token not in cache, request it # if access token not in cache, request it
token = BaiduAccessToken(api_key) token = BaiduAccessToken(api_key)
baidu_access_tokens[api_key] = token baidu_access_tokens[api_key] = token
# release it to enhance performance try:
# btw, _get_access_token will raise exception if failed, release lock here to avoid deadlock # try to get access token
baidu_access_tokens_lock.release() token_str = BaiduAccessToken._get_access_token(api_key, secret_key)
# try to get access token finally:
token_str = BaiduAccessToken._get_access_token(api_key, secret_key) # release it to enhance performance
# btw, _get_access_token will raise exception if failed, release lock here to avoid deadlock
baidu_access_tokens_lock.release()
token.access_token = token_str token.access_token = token_str
token.expires = now + timedelta(days=3) token.expires = now + timedelta(days=3)
return token return token