소스 검색

Merge branch 'dev_david' of anweiguo/algorithm_platform into dev_awg

liudawei 3 주 전
부모
커밋
54f0c2dc20

+ 1 - 1
models_processing/model_tf/tf_lstm2_pre.py

@@ -43,7 +43,7 @@ def update_config():
     g.dh = DataHandler(logger, current_config)  # 每个请求独立实例
     g.ts = TSHandler(logger, current_config)
 
-@app.route('/tf_lstm_predict', methods=['POST'])
+@app.route('/tf_lstm2_predict', methods=['POST'])
 def model_prediction_bp():
     # 获取程序开始时间
     start_time = time.time()

+ 1 - 1
models_processing/model_tf/tf_lstm2_train.py

@@ -39,7 +39,7 @@ def update_config():
     g.ts = TSHandler(logger, current_config)
 
 
-@app.route('/tf_lstm_training', methods=['POST'])
+@app.route('/tf_lstm2_training', methods=['POST'])
 def model_training_bp():
     # 获取程序开始时间
     start_time = time.time()

+ 1 - 1
models_processing/model_tf/tf_lstm3_pre.py

@@ -42,7 +42,7 @@ def update_config():
     g.dh = DataHandler(logger, current_config)  # 每个请求独立实例
     g.ts = TSHandler(logger, current_config)
 
-@app.route('/tf_lstm_predict', methods=['POST'])
+@app.route('/tf_lstm3_predict', methods=['POST'])
 def model_prediction_bp():
     # 获取程序开始时间
     start_time = time.time()

+ 1 - 1
models_processing/model_tf/tf_lstm3_train.py

@@ -39,7 +39,7 @@ def update_config():
     g.ts = TSHandler(logger, current_config)
 
 
-@app.route('/tf_lstm_training', methods=['POST'])
+@app.route('/tf_lstm3_training', methods=['POST'])
 def model_training_bp():
     # 获取程序开始时间
     start_time = time.time()

+ 59 - 15
post_processing/cdq_coe_gen.py

@@ -4,12 +4,12 @@
 # @Time      :2025/3/28 16:20
 # @Author    :David
 # @Company: shenyang JY
-import os, requests, json
+import os, requests, json, time, traceback
 import pandas as pd
 import numpy as np
 from common.database_dml_koi import get_data_from_mongo
 from pymongo import MongoClient
-from flask import Flask,request,jsonify
+from flask import Flask,request,jsonify, g
 from datetime import datetime
 # from common.logs import Log
 # logger = Log('post-processing').logger
@@ -17,13 +17,19 @@ from logging import getLogger
 logger = getLogger('xx')
 current_path = os.path.dirname(__file__)
 API_URL = "http://ds2:18080/accuracyAndBiasByJSON"
+app = Flask('cdq_coe_gen——service')
 
 
-def iterate_coe(pre_data, point, col_power, col_pre):
+@app.before_request
+def update_config():
+    # ------------ 整理参数,整合请求参数 ------------
+    g.coe = {}
+
+
+def iterate_coe(pre_data, point, col_power, col_pre, coe):
     """
     更新16个点系数
     """
-    coe = {}
     T = 'T' + str(point + 1)
     best_acc, best_score1, best_coe_m, best_coe_n = 0, 0, 0, 0
     best_score, best_acc1, best_score_m, best_score_n = 999, 0, 0, 0
@@ -154,16 +160,54 @@ def history_error(data, col_power, col_pre):
     # data.to_csv('J01080原始数据.csv', index=False)
     return data
 
+@app.route('/cdq_coe_gen', methods=['POST'])
+def get_station_cdq_coe():
+    # 获取程序开始时间
+    start_time = time.time()
+    result = {}
+    success = 0
+    args = {}
+    coe = g.coe
+    try:
+        args = request.values.to_dict()
+        logger.info(args)
+        data = get_data_from_mongo(args).sort_values(by='dateTime', ascending=True)
+        pre_data = history_error(data, col_power='realPower', col_pre='dq')
+        for point in range(0, 16, 1):
+            iterate_coe(pre_data, point, 'realPower', 'dq', coe)
+        success = 1
+    except Exception as e:
+        my_exception = traceback.format_exc()
+        my_exception.replace("\n", "\t")
+        result['msg'] = my_exception
+        logger.info("调系数出错:{}".format(my_exception))
+    end_time = time.time()
+    result['success'] = success
+    result['args'] = args
+    result['coe'] = coe
+    result['start_time'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(start_time))
+    result['end_time'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(end_time))
+    return result
 
 if __name__ == "__main__":
-    args = {
-        'mongodb_database': 'ldw_ftp',
-        'mongodb_read_table': 'j00600',
-        # 'timeBegin': '2025-01-01 00:00:00',
-        # 'timeEnd': '2025-01-03 23:45:00'
-    }
-    data = get_data_from_mongo(args).sort_values(by='dateTime', ascending=True)
-    pre_data = history_error(data, col_power='realPower', col_pre='dq')
-    for point in range(0, 16, 1):
-        iterate_coe(pre_data, point, 'realPower', 'dq')
-    run_code = 0
+    # args = {
+    #     'mongodb_database': 'ldw_ftp',
+    #     'mongodb_read_table': 'j00600',
+    #     # 'timeBegin': '2025-01-01 00:00:00',
+    #     # 'timeEnd': '2025-01-03 23:45:00'
+    # }
+    # data = get_data_from_mongo(args).sort_values(by='dateTime', ascending=True)
+    # pre_data = history_error(data, col_power='realPower', col_pre='dq')
+    # for point in range(0, 16, 1):
+    #     iterate_coe(pre_data, point, 'realPower', 'dq')
+    # run_code = 0
+    print("Program starts execution!")
+    from waitress import serve
+
+    serve(
+        app,
+        host="0.0.0.0",
+        port=10123,
+        threads=8,  # 指定线程数(默认4,根据硬件调整)
+        channel_timeout=600  # 连接超时时间(秒)
+    )