Добавлена обработка таймаутов с использованием httpx в клиентских операциях
This commit is contained in:
@@ -279,7 +279,7 @@ async def handle_servers_availability(
|
||||
total_online_users = 0
|
||||
|
||||
for server in cluster_servers:
|
||||
xui = AsyncApi(server["api_url"], username=ADMIN_USERNAME, password=ADMIN_PASSWORD)
|
||||
xui = AsyncApi(server["api_url"], username=ADMIN_USERNAME, password=ADMIN_PASSWORD, logger=logger)
|
||||
|
||||
try:
|
||||
await xui.login()
|
||||
@@ -383,6 +383,7 @@ async def handle_clusters_backup(
|
||||
server["api_url"],
|
||||
username=ADMIN_USERNAME,
|
||||
password=ADMIN_PASSWORD,
|
||||
logger=logger,
|
||||
)
|
||||
await create_backup_and_send_to_admins(xui)
|
||||
|
||||
|
||||
@@ -449,6 +449,7 @@ async def finalize_key_creation(
|
||||
old_server_info["api_url"],
|
||||
username=ADMIN_USERNAME,
|
||||
password=ADMIN_PASSWORD,
|
||||
logger=logger,
|
||||
)
|
||||
deletion_success = await delete_client(
|
||||
xui,
|
||||
|
||||
@@ -69,6 +69,7 @@ async def create_client_on_server(
|
||||
server_info["api_url"],
|
||||
username=ADMIN_USERNAME,
|
||||
password=ADMIN_PASSWORD,
|
||||
logger=logger,
|
||||
)
|
||||
|
||||
inbound_id = server_info.get("inbound_id")
|
||||
@@ -129,6 +130,7 @@ async def renew_key_in_cluster(cluster_id, email, client_id, new_expiry_time, to
|
||||
server_info["api_url"],
|
||||
username=ADMIN_USERNAME,
|
||||
password=ADMIN_PASSWORD,
|
||||
logger=logger,
|
||||
)
|
||||
|
||||
inbound_id = server_info.get("inbound_id")
|
||||
@@ -180,6 +182,7 @@ async def delete_key_from_cluster(cluster_id, email, client_id):
|
||||
server_info["api_url"],
|
||||
username=ADMIN_USERNAME,
|
||||
password=ADMIN_PASSWORD,
|
||||
logger=logger,
|
||||
)
|
||||
|
||||
inbound_id = server_info.get("inbound_id")
|
||||
@@ -230,6 +233,7 @@ async def update_key_on_cluster(tg_id, client_id, email, expiry_time, cluster_id
|
||||
server_info["api_url"],
|
||||
username=ADMIN_USERNAME,
|
||||
password=ADMIN_PASSWORD,
|
||||
logger=logger,
|
||||
)
|
||||
|
||||
inbound_id = server_info.get("inbound_id")
|
||||
@@ -357,7 +361,7 @@ async def get_user_traffic(session: Any, tg_id: int, email: str) -> dict[str, An
|
||||
Получает трафик с сервера для заданного client_id.
|
||||
Возвращает кортеж: (server, used_gb) или (server, ошибка).
|
||||
"""
|
||||
xui = AsyncApi(api_url, username=ADMIN_USERNAME, password=ADMIN_PASSWORD)
|
||||
xui = AsyncApi(api_url, username=ADMIN_USERNAME, password=ADMIN_PASSWORD, logger=logger)
|
||||
try:
|
||||
traffic_info = await get_client_traffic(xui, client_id)
|
||||
if traffic_info["status"] == "success" and traffic_info["traffic"]:
|
||||
@@ -424,6 +428,7 @@ async def toggle_client_on_cluster(cluster_id: str, email: str, client_id: str,
|
||||
server_info["api_url"],
|
||||
username=ADMIN_USERNAME,
|
||||
password=ADMIN_PASSWORD,
|
||||
logger=logger,
|
||||
)
|
||||
|
||||
inbound_id = server_info.get("inbound_id")
|
||||
|
||||
Reference in New Issue
Block a user