Răsfoiți Sursa

!2 save cfg with minio

pcacc 1 săptămână în urmă
părinte
comite
309cbe05eb
3 a modificat fișierele cu 38 adăugiri și 17 ștergeri
  1. 33 15
      app_dongri.py
  2. 2 1
      requirements.txt
  3. 3 1
      scriptBase/minio_manage.py

+ 33 - 15
app_dongri.py

@@ -10,6 +10,7 @@ from collections import deque
 import json
 from concurrent.futures import ThreadPoolExecutor
 from flask_caching import Cache
+from scriptBase.minio_manage import *
 
 # 全局线程池,限制最大线程数为1
 executor = ThreadPoolExecutor(max_workers=1)
@@ -521,23 +522,40 @@ def clean_old_daily_configs(config):
     return config
 
 def write_cfg(config):
-    with open('config.json', 'w') as config_file:
-        json.dump(config, config_file, indent=4)
+    try:
+        config_manager = MinIOConfigManager()
+        localCfg_name = task_getComputerName() + '_config'
+        config_manager.set_config(localCfg_name, config)
+    except Exception as e:
+        print("写入minIO错误, 尝试写入本地")
+        with open('config.json', 'w') as config_file:
+            json.dump(config, config_file, indent=4)
+
 def read_cfg():
     try:
-        with open('config.json', 'r') as config_file:
-            config = json.load(config_file)
-            GlobalState.g_cureNum = int(config['cureNumber'])
-            return config
-    except FileNotFoundError:
-        print("配置文件不存在,请检查文件路径。")
-        return None
-    except PermissionError:
-        print("没有权限读取配置文件。")
-        return None
-    except json.JSONDecodeError:
-        print("配置文件格式错误,请检查文件内容是否为有效的 JSON。")
-        return None
+        config_manager = MinIOConfigManager()
+        localCfg_name = task_getComputerName() + '_config'
+        localCfg = config_manager.get_config(localCfg_name)
+        config = json.loads(localCfg)
+        GlobalState.g_cureNum = int(config['cureNumber'])
+        return config
+    except Exception as e:
+        print("读取minIO错误, 尝试读取本地")
+        try:
+            with open('config.json', 'r') as config_file:
+                config = json.load(config_file)
+                GlobalState.g_cureNum = int(config['cureNumber'])
+                return config
+        except FileNotFoundError:
+            print("配置文件不存在,请检查文件路径。")
+            return None
+        except PermissionError:
+            print("没有权限读取配置文件。")
+            return None
+        except json.JSONDecodeError:
+            print("配置文件格式错误,请检查文件内容是否为有效的 JSON。")
+            return None
+
     
 def write_Dailycfg(config):
     with open('daily.json', 'w') as config_file:

+ 2 - 1
requirements.txt

@@ -21,4 +21,5 @@ paddleocr
 paddlepaddle
 setuptools
 python-logging-loki[async]
-Flask-Caching
+Flask-Caching
+minio

+ 3 - 1
scriptBase/minio_manage.py

@@ -12,7 +12,9 @@ class MinIO_globalCfg:
 
 
 class MinIOConfigManager:
-    def __init__(self, endpoint, access_key, secret_key, bucket_name="config-bucket"):
+    def __init__(self, endpoint=MinIO_globalCfg.endpoint,
+                  access_key=MinIO_globalCfg.access_key,
+                    secret_key=MinIO_globalCfg.secret_key, bucket_name=MinIO_globalCfg.bucket_name):
         self.client = Minio(
             endpoint,
             access_key=access_key,