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:
parent
fb113a9479
commit
f6b9982c23
1 changed files with 7 additions and 5 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue