yulongyan_citu 1 рік тому
батько
коміт
eaecc4fcbd
3 змінених файлів з 143 додано та 144 видалено
  1. 2 2
      app.py
  2. 1 2
      configs/connections.py
  3. 140 140
      configs/nacos_bak.py

+ 2 - 2
app.py

@@ -7,12 +7,12 @@ from interfaces.resume import resume
 from interfaces.rocketmq import rocket
 import logging
 from logging.handlers import TimedRotatingFileHandler
-from configs.nacos_bak import nacos_service_single
+# from configs.nacos_bak import nacos_service_single
 
 app = Flask(__name__)
 app.config['JSON_AS_ASCII'] = False
 CORS(app, resources=r'/*')
-nacos_service_single.start()
+# nacos_service_single.start()
 # 注册蓝图
 app.register_blueprint(resume, url_prefix='/resume')
 app.register_blueprint(rocket, url_prefix='/rocket')

+ 1 - 2
configs/connections.py

@@ -3,10 +3,9 @@
 '''
 from flask import Flask
 from py2neo import Graph
-from configs.nacos_bak import nacos_service_single
+from configs.nacos_config import configs
 from py2neo import Node
 app = Flask(__name__)
-configs= nacos_service_single.get_nacos_configs()
 neo4j_url = configs['neo4j_url']
 username = configs['neo4j_username']
 password = configs['neo4j_password']

+ 140 - 140
configs/nacos_bak.py

@@ -1,140 +1,140 @@
-import nacos
-import socket
-import logging
-import time
-import os
-import requests
-import threading
-
-class NacosService:
-    CLIENT = None
-    DATA_ID = None
-    GROUP = None
-    LOCAL_IP = None
-    SERVER_ADDRESSES = None
-    NAMESPACE = None
-    logger = logging.getLogger('app')  # 这里设置名字
-
-    __instance = None
-    _registered = False  # 添加注册标志位
-    _stop_event = threading.Event()  # 用于控制心跳任务的停止
-
-    def __init__(self):
-        if os.name == 'posix':  # 'posix' 表示类Unix系统,包括Linux
-            default_address = "127.0.0.1:8848"
-        else:
-            default_address = "192.168.3.80:8848"
-        self.LOCAL_IP = str(os.getenv("NACOS_REGISTER_IP", default=socket.gethostbyname(socket.gethostname())))
-        self.SERVER_ADDRESSES = default_address
-        self.NAMESPACE = "dev"
-        self.DATA_ID = "python-mendunr"
-        self.GROUP = "DEFAULT_GROUP"
-
-    def __new__(cls, *args, **kwargs):
-        if NacosService.__instance is None:
-            NacosService.__instance = object.__new__(cls, *args, **kwargs)
-        return NacosService.__instance
-
-    ### 获取配置
-    def getConfig(self):
-        return self.CLIENT.get_config(self.DATA_ID, self.GROUP)
-
-    ### 注册实例
-    def register_instance(self):
-        if self._registered:
-            return
-
-        res = requests.post(url=f"http://{self.SERVER_ADDRESSES}/nacos/v1/ns/instance",
-                            data={
-                                'groupName': self.GROUP,
-                                'metadata': '{"preserved.register.source":"SPRING_CLOUD","preserved.heart.beat.interval": 5500, "preserved.heart.beat.timeout": 30000, "preserved.ip.delete.timeout": 60000}',
-                                'namespaceId': self.NAMESPACE,
-                                'port': 3333,
-                                'enable': True,
-                                'healthy': True,
-                                'clusterName': 'DEFAULT',
-                                'ip': self.LOCAL_IP,
-                                'weight': 1,
-                                'ephemeral': False,  # 修改这里为 False
-                                'serviceName': self.GROUP + "@@" + self.DATA_ID
-                            })
-        if res.status_code == 200:
-            self.logger.info("register_instance res %s", str(res.content, 'UTF-8'))
-            self._registered = True  # 设置注册成功标志位
-        else:
-            self.logger.error(f"Failed to register instance: {res.status_code} - {res.text}")
-
-    def send_heartbeat(self):
-        while not self._stop_event.is_set():
-            try:
-                res = requests.put(url=f"http://{self.SERVER_ADDRESSES}/nacos/v1/ns/instance/beat",
-                                   data={
-                                       "ip": self.LOCAL_IP,
-                                       "port": "3333",
-                                       "namespaceId": self.NAMESPACE,
-                                       "serviceName": self.GROUP + "@@" + self.DATA_ID,
-                                       "clusterName": "DEFAULT"}
-                                   )
-                if res.status_code == 200:
-                    res_json = res.json()
-                    if res_json["code"] == 20404:  ### 找不到资源重新注册
-                        self.register_instance()
-                else:
-                    self.logger.error(f"Failed to send heartbeat: {res.status_code} - {res.text}")
-                self._stop_event.wait(4)  ## 4秒执行一次
-            except Exception as e:
-                self.logger.error(f"send_heartbeat error: {e}")
-
-    def getServer(self, serverName):
-        try:
-            res = requests.get(url=f"http://{self.SERVER_ADDRESSES}/nacos/v1/ns/instance/list",
-                               params={'namespaceId': self.NAMESPACE, 'serviceName': self.GROUP + "@@" + serverName})
-            if res.status_code == 200:
-                hosts = res.json()["hosts"]
-                if len(hosts) > 0:
-                    return hosts[0]
-            else:
-                self.logger.error(f"Failed to get server list: {res.status_code} - {res.text}")
-        except Exception as e:
-            self.logger.error(f"getServer error: {e}")
-        return None
-
-    def start(self):
-        try:
-            self.CLIENT = nacos.NacosClient(self.SERVER_ADDRESSES, namespace=self.NAMESPACE)
-            self.register_instance()
-            self.heartbeat_thread = threading.Thread(target=self.send_heartbeat)
-            self.heartbeat_thread.start()
-        except Exception as e:
-            self.logger.error(f"start error: {e}")
-
-    def stop(self):
-        self._stop_event.set()
-        self.heartbeat_thread.join()
-
-    def get_nacos_configs(self):
-        url = f"http://{self.SERVER_ADDRESSES}/nacos/v1/cs/configs"
-        params = {
-            'tenant': self.NAMESPACE,
-            'dataId': self.DATA_ID,
-            'group': self.GROUP
-        }
-        try:
-            r = requests.get(url, params)
-            r.encoding = r.apparent_encoding
-            if r.status_code == 200:
-                r_dict = r.json()
-                return r_dict
-            else:
-                self.logger.error(f"Failed to get Nacos configs: {r.status_code} - {r.text}")
-        except Exception as e:
-            self.logger.error(f"get_nacos_configs error: {e}")
-        return None
-
-
-nacos_service_single = NacosService()
-
-
-# 发送url请求,获取nacos上的配置
-def get_nacos_configs():
-    return nacos_service_single.get_nacos_configs()
+# import nacos
+# import socket
+# import logging
+# import time
+# import os
+# import requests
+# import threading
+#
+# class NacosService:
+#     CLIENT = None
+#     DATA_ID = None
+#     GROUP = None
+#     LOCAL_IP = None
+#     SERVER_ADDRESSES = None
+#     NAMESPACE = None
+#     logger = logging.getLogger('app')  # 这里设置名字
+#
+#     __instance = None
+#     _registered = False  # 添加注册标志位
+#     _stop_event = threading.Event()  # 用于控制心跳任务的停止
+#
+#     def __init__(self):
+#         if os.name == 'posix':  # 'posix' 表示类Unix系统,包括Linux
+#             default_address = "127.0.0.1:8848"
+#         else:
+#             default_address = "192.168.3.80:8848"
+#         self.LOCAL_IP = str(os.getenv("NACOS_REGISTER_IP", default=socket.gethostbyname(socket.gethostname())))
+#         self.SERVER_ADDRESSES = default_address
+#         self.NAMESPACE = "dev"
+#         self.DATA_ID = "python-mendunr"
+#         self.GROUP = "DEFAULT_GROUP"
+#
+#     def __new__(cls, *args, **kwargs):
+#         if NacosService.__instance is None:
+#             NacosService.__instance = object.__new__(cls, *args, **kwargs)
+#         return NacosService.__instance
+#
+#     ### 获取配置
+#     def getConfig(self):
+#         return self.CLIENT.get_config(self.DATA_ID, self.GROUP)
+#
+#     ### 注册实例
+#     def register_instance(self):
+#         if self._registered:
+#             return
+#
+#         res = requests.post(url=f"http://{self.SERVER_ADDRESSES}/nacos/v1/ns/instance",
+#                             data={
+#                                 'groupName': self.GROUP,
+#                                 'metadata': '{"preserved.register.source":"SPRING_CLOUD","preserved.heart.beat.interval": 5500, "preserved.heart.beat.timeout": 30000, "preserved.ip.delete.timeout": 60000}',
+#                                 'namespaceId': self.NAMESPACE,
+#                                 'port': 3333,
+#                                 'enable': True,
+#                                 'healthy': True,
+#                                 'clusterName': 'DEFAULT',
+#                                 'ip': self.LOCAL_IP,
+#                                 'weight': 1,
+#                                 'ephemeral': False,  # 修改这里为 False
+#                                 'serviceName': self.GROUP + "@@" + self.DATA_ID
+#                             })
+#         if res.status_code == 200:
+#             self.logger.info("register_instance res %s", str(res.content, 'UTF-8'))
+#             self._registered = True  # 设置注册成功标志位
+#         else:
+#             self.logger.error(f"Failed to register instance: {res.status_code} - {res.text}")
+#
+#     def send_heartbeat(self):
+#         while not self._stop_event.is_set():
+#             try:
+#                 res = requests.put(url=f"http://{self.SERVER_ADDRESSES}/nacos/v1/ns/instance/beat",
+#                                    data={
+#                                        "ip": self.LOCAL_IP,
+#                                        "port": "3333",
+#                                        "namespaceId": self.NAMESPACE,
+#                                        "serviceName": self.GROUP + "@@" + self.DATA_ID,
+#                                        "clusterName": "DEFAULT"}
+#                                    )
+#                 if res.status_code == 200:
+#                     res_json = res.json()
+#                     if res_json["code"] == 20404:  ### 找不到资源重新注册
+#                         self.register_instance()
+#                 else:
+#                     self.logger.error(f"Failed to send heartbeat: {res.status_code} - {res.text}")
+#                 self._stop_event.wait(4)  ## 4秒执行一次
+#             except Exception as e:
+#                 self.logger.error(f"send_heartbeat error: {e}")
+#
+#     def getServer(self, serverName):
+#         try:
+#             res = requests.get(url=f"http://{self.SERVER_ADDRESSES}/nacos/v1/ns/instance/list",
+#                                params={'namespaceId': self.NAMESPACE, 'serviceName': self.GROUP + "@@" + serverName})
+#             if res.status_code == 200:
+#                 hosts = res.json()["hosts"]
+#                 if len(hosts) > 0:
+#                     return hosts[0]
+#             else:
+#                 self.logger.error(f"Failed to get server list: {res.status_code} - {res.text}")
+#         except Exception as e:
+#             self.logger.error(f"getServer error: {e}")
+#         return None
+#
+#     def start(self):
+#         try:
+#             self.CLIENT = nacos.NacosClient(self.SERVER_ADDRESSES, namespace=self.NAMESPACE)
+#             self.register_instance()
+#             self.heartbeat_thread = threading.Thread(target=self.send_heartbeat)
+#             self.heartbeat_thread.start()
+#         except Exception as e:
+#             self.logger.error(f"start error: {e}")
+#
+#     def stop(self):
+#         self._stop_event.set()
+#         self.heartbeat_thread.join()
+#
+#     def get_nacos_configs(self):
+#         url = f"http://{self.SERVER_ADDRESSES}/nacos/v1/cs/configs"
+#         params = {
+#             'tenant': self.NAMESPACE,
+#             'dataId': self.DATA_ID,
+#             'group': self.GROUP
+#         }
+#         try:
+#             r = requests.get(url, params)
+#             r.encoding = r.apparent_encoding
+#             if r.status_code == 200:
+#                 r_dict = r.json()
+#                 return r_dict
+#             else:
+#                 self.logger.error(f"Failed to get Nacos configs: {r.status_code} - {r.text}")
+#         except Exception as e:
+#             self.logger.error(f"get_nacos_configs error: {e}")
+#         return None
+#
+#
+# nacos_service_single = NacosService()
+#
+#
+# # 发送url请求,获取nacos上的配置
+# def get_nacos_configs():
+#     return nacos_service_single.get_nacos_configs()