From 378fa1c6442283cdf90adaaf7952a6a2f2406f7f Mon Sep 17 00:00:00 2001 From: Sergey Revyakin Date: Thu, 19 Feb 2026 10:17:38 +0700 Subject: [PATCH] =?UTF-8?q?=D0=B7=D0=B0=D1=80=D0=B5=D1=84=D0=B0=D0=BA?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=BB=20=D0=BE=D1=82=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BA=D1=83=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/datas_processing.py | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/utils/datas_processing.py b/src/utils/datas_processing.py index c0820f2..f6ca104 100644 --- a/src/utils/datas_processing.py +++ b/src/utils/datas_processing.py @@ -27,18 +27,34 @@ def agregator(freq, alarm): def send_data(data, localhost, localport, endpoint): """ - Отправка данных по посту на модуль сервер. + Отправка данных по POST на модуль сервер. :param data: Данные для отправки. :param localhost: Хост модуль сервера. :param localport: Порт модуль сервера. """ + def _post(port): + url = "http://{0}:{1}/{2}".format(localhost, port, endpoint) + return requests.post(url, json=data), url + try: - response = requests.post("http://{0}:{1}/{2}".format(localhost, localport, endpoint), json=data) + response, url = _post(localport) if response.status_code == 200: - print("Данные успешно отправлены и приняты!") - else: - print("Ошибка при отправке данных: ", response.status_code) + print("Данные успешно отправлены и приняты!", url) + return + + # Частый кейс: порт 5000 занят локальным registry (DroneDetectPCSoft). + # Пробуем порт модуля сервера из env (например, 5010). + fallback_port = os.getenv('GENERAL_SERVER_PORT') + if response.status_code == 404 and fallback_port and str(localport) != str(fallback_port): + response_fb, url_fb = _post(fallback_port) + if response_fb.status_code == 200: + print("Данные успешно отправлены и приняты!", url_fb) + return + print("Ошибка при отправке данных:", response_fb.status_code, url_fb) + return + + print("Ошибка при отправке данных:", response.status_code, url) except Exception as e: print(str(e))