|
@@ -1,56 +1,3 @@
|
|
|
-# import json
|
|
|
-# import threading
|
|
|
-#
|
|
|
-# from flask import Flask
|
|
|
-# from nacos import NacosClient
|
|
|
-#
|
|
|
-# app = Flask(__name__)
|
|
|
-#
|
|
|
-# class nacos:
|
|
|
-# def __init__(self,address,namespace,username,password,data_id,group):
|
|
|
-# self.SERVER_ADDRESSES = address
|
|
|
-# self.NAMESPACE = namespace
|
|
|
-# self.USERNAME = username
|
|
|
-# self.PASSWORD = password
|
|
|
-# self.client = NacosClient(server_addresses=self.SERVER_ADDRESSES, namespace=self.NAMESPACE)
|
|
|
-# self.data_id = data_id
|
|
|
-# self.group = group
|
|
|
-# def load_config(self):
|
|
|
-# """从Nacos加载配置并更新应用状态"""
|
|
|
-# config_data = self.client.get_config(data_id=self.data_id, group=self.group)
|
|
|
-# app.config['CONFIG_DATA'] = config_data
|
|
|
-# print(config_data)
|
|
|
-# return json.loads(config_data)
|
|
|
-#
|
|
|
-# def on_config_change(self,cfg):
|
|
|
-# """当Nacos中的配置发生变化时,更新应用配置中的配置数据"""
|
|
|
-# config_data = json.loads(cfg['content']) # Parse the JSON string to a dictionary
|
|
|
-# app.config['CONFIG_DATA'] = config_data
|
|
|
-# return config_data
|
|
|
-#
|
|
|
-# def watch_config_changes(self):
|
|
|
-# try:
|
|
|
-# self.client.add_config_watcher(data_id='python-mendunr', group='DEFAULT_GROUP', cb=self.on_config_change)
|
|
|
-# self.client.add_naming_instance(service_name='python-mendunr',
|
|
|
-# ip='192.168.3.175',
|
|
|
-# port=3333,
|
|
|
-# group_name='DEFAULT_GROUP',
|
|
|
-# ephemeral=False)
|
|
|
-# except Exception as e:
|
|
|
-# raise e
|
|
|
-#
|
|
|
-#
|
|
|
-# # def start_background_tasks(self):
|
|
|
-# # """启动后台任务线程来监控配置变化"""
|
|
|
-# # t = threading.Thread(target=self.watch_config_changes)
|
|
|
-# # t.daemon = True
|
|
|
-# # t.start()
|
|
|
-# # # self.watch_config_changes()
|
|
|
-#
|
|
|
-# nacos_single = nacos(address="192.168.3.80:8848",namespace = "dev",username = 'nacos',
|
|
|
-# password ='nacos',data_id = 'python-mendunr',group = 'DEFAULT_GROUP')
|
|
|
-# nacos_single.watch_config_changes()
|
|
|
-# configs = nacos_single.load_config()
|
|
|
|
|
|
import json
|
|
|
from flask import Flask, request
|
|
@@ -58,17 +5,37 @@ from nacos import NacosClient
|
|
|
|
|
|
app = Flask(__name__)
|
|
|
|
|
|
+config_json = {
|
|
|
+ "local": {
|
|
|
+ "address": "192.168.3.80:8848",
|
|
|
+ "namespace": "dev",
|
|
|
+ "username": "nacos",
|
|
|
+ "password": "nacos",
|
|
|
+ "data_id": "python-mendunr",
|
|
|
+ "group": "DEFAULT_GROUP"
|
|
|
+ },
|
|
|
+ "production": {
|
|
|
+ "address": "localhost:8848",
|
|
|
+ "namespace": "dev",
|
|
|
+ "username": "nacos",
|
|
|
+ "password": "nacos",
|
|
|
+ "data_id": "python-mendunr",
|
|
|
+ "group": "DEFAULT_GROUP"
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
class NacosConfig:
|
|
|
- def __init__(self, address, namespace, username, password, data_id, group):
|
|
|
- self.SERVER_ADDRESSES = address
|
|
|
- self.NAMESPACE = namespace
|
|
|
- self.USERNAME = username
|
|
|
- self.PASSWORD = password
|
|
|
+ def __init__(self, environment='local'):
|
|
|
+ env_config = config_json[environment]
|
|
|
+ self.SERVER_ADDRESSES = env_config['address']
|
|
|
+ self.NAMESPACE = env_config['namespace']
|
|
|
+ self.USERNAME = env_config['username']
|
|
|
+ self.PASSWORD = env_config['password']
|
|
|
+ self.data_id = env_config['data_id']
|
|
|
+ self.group = env_config['group']
|
|
|
self.client = NacosClient(server_addresses=self.SERVER_ADDRESSES, namespace=self.NAMESPACE,
|
|
|
username=self.USERNAME, password=self.PASSWORD)
|
|
|
- self.data_id = data_id
|
|
|
- self.group = group
|
|
|
self.config_data = None
|
|
|
|
|
|
def load_config(self):
|
|
@@ -84,8 +51,8 @@ class NacosConfig:
|
|
|
return self.config_data
|
|
|
|
|
|
|
|
|
-nacos_config = NacosConfig(address="192.168.3.80:8848", namespace="dev", username='nacos', password='nacos',
|
|
|
- data_id='python-mendunr', group='DEFAULT_GROUP')
|
|
|
+# 使用配置文件中的生产环境配置 (本地是local,提交代码是production)!!
|
|
|
+nacos_config = NacosConfig(environment='production')
|
|
|
configs = nacos_config.get_config()
|
|
|
|
|
|
|