From 714b8972ad34e7e40f0973699477b8ace1b15503 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Fri, 18 Mar 2022 14:46:23 +0100 Subject: [PATCH] feat(api): call to assist handles disconnection feat(api): resources return status code --- api/chalicelib/core/assist.py | 20 ++++++++++---------- api/chalicelib/core/resources.py | 3 ++- ee/api/chalicelib/core/resources.py | 2 +- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/api/chalicelib/core/assist.py b/api/chalicelib/core/assist.py index e4b1d4a7e..c6fb35713 100644 --- a/api/chalicelib/core/assist.py +++ b/api/chalicelib/core/assist.py @@ -69,12 +69,12 @@ def get_live_sessions_ws(project_id, user_id=None): params = {} if user_id and len(user_id) > 0: params["userId"] = user_id - connected_peers = requests.get(config("peers") % config("S3_KEY") + f"/{project_key}", params) - if connected_peers.status_code != 200: - print("!! issue with the peer-server") - print(connected_peers.text) - return [] try: + connected_peers = requests.get(config("peers") % config("S3_KEY") + f"/{project_key}", params) + if connected_peers.status_code != 200: + print("!! issue with the peer-server") + print(connected_peers.text) + return [] live_peers = connected_peers.json().get("data", []) except Exception as e: print("issue getting Live-Assist response") @@ -104,12 +104,12 @@ def get_live_session_by_id(project_id, session_id): def is_live(project_id, session_id, project_key=None): if project_key is None: project_key = projects.get_project_key(project_id) - connected_peers = requests.get(config("peersList") % config("S3_KEY") + f"/{project_key}") - if connected_peers.status_code != 200: - print("!! issue with the peer-server") - print(connected_peers.text) - return False try: + connected_peers = requests.get(config("peersList") % config("S3_KEY") + f"/{project_key}") + if connected_peers.status_code != 200: + print("!! issue with the peer-server") + print(connected_peers.text) + return False connected_peers = connected_peers.json().get("data", []) except Exception as e: print("issue getting Assist response") diff --git a/api/chalicelib/core/resources.py b/api/chalicelib/core/resources.py index 6b9ba9170..6a7e395f8 100644 --- a/api/chalicelib/core/resources.py +++ b/api/chalicelib/core/resources.py @@ -13,7 +13,8 @@ def get_by_session_id(session_id): header_size, encoded_body_size, decoded_body_size, - success + success, + COALESCE(status, CASE WHEN success THEN 200 END) AS status FROM events.resources WHERE session_id = %(session_id)s;""" params = {"session_id": session_id} diff --git a/ee/api/chalicelib/core/resources.py b/ee/api/chalicelib/core/resources.py index 557135804..332d3709a 100644 --- a/ee/api/chalicelib/core/resources.py +++ b/ee/api/chalicelib/core/resources.py @@ -7,7 +7,7 @@ def get_by_session_id(session_id): with ch_client.ClickHouseClient() as ch: ch_query = """\ SELECT - datetime,url,type,duration,ttfb,header_size,encoded_body_size,decoded_body_size,success + datetime,url,type,duration,ttfb,header_size,encoded_body_size,decoded_body_size,success,coalesce(status,if(success, 200, status)) AS status FROM resources WHERE session_id = toUInt64(%(session_id)s);""" params = {"session_id": session_id}