mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-12 17:39:06 +08:00
Fix/add retry mechanism to billing service request handling (#12006)
Signed-off-by: -LAN- <laipz8200@outlook.com>
This commit is contained in:
parent
2bf33c4dd2
commit
425cc1ea85
@ -1,6 +1,7 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
import requests
|
import httpx
|
||||||
|
from tenacity import retry, retry_if_not_exception_type, stop_before_delay, wait_fixed
|
||||||
|
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from models.account import TenantAccountJoin, TenantAccountRole
|
from models.account import TenantAccountJoin, TenantAccountRole
|
||||||
@ -39,11 +40,17 @@ class BillingService:
|
|||||||
return cls._send_request("GET", "/invoices", params=params)
|
return cls._send_request("GET", "/invoices", params=params)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@retry(
|
||||||
|
wait=wait_fixed(2),
|
||||||
|
stop=stop_before_delay(10),
|
||||||
|
retry=retry_if_not_exception_type(httpx.RequestError),
|
||||||
|
reraise=True,
|
||||||
|
)
|
||||||
def _send_request(cls, method, endpoint, json=None, params=None):
|
def _send_request(cls, method, endpoint, json=None, params=None):
|
||||||
headers = {"Content-Type": "application/json", "Billing-Api-Secret-Key": cls.secret_key}
|
headers = {"Content-Type": "application/json", "Billing-Api-Secret-Key": cls.secret_key}
|
||||||
|
|
||||||
url = f"{cls.base_url}{endpoint}"
|
url = f"{cls.base_url}{endpoint}"
|
||||||
response = requests.request(method, url, json=json, params=params, headers=headers)
|
response = httpx.request(method, url, json=json, params=params, headers=headers)
|
||||||
|
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user