Explorar el Código

Merge branch 'dev_david' of anweiguo/algorithm_platform into dev_awg

liudawei hace 4 semanas
padre
commit
5e453be85b
Se han modificado 2 ficheros con 33 adiciones y 4 borrados
  1. 32 4
      data_processing/data_operation/pre_prod_ftp.py
  2. 1 0
      run_all.py

+ 32 - 4
data_processing/data_operation/pre_prod_ftp.py

@@ -24,12 +24,15 @@ import requests
 import json
 import os
 import paramiko
-import zipfile
+import zipfile, traceback
+from flask import Flask, request, jsonify
 from datetime import datetime, timedelta
 from typing import Optional
 from pytz import timezone
-import shutil
+import shutil, time
 import tempfile
+app = Flask('pre_prod_ftp——service')
+
 api_url = 'http://itil.jiayuepowertech.com:9958/itil/api/stationModelConfig'
 nick_name = {
     '0': 'seer',
@@ -329,7 +332,7 @@ def configure_scheduler():
 
     # 配置第一个触发器:处理每个主小时段的前 60 分钟(0-50 分钟)
     trigger1 = CronTrigger(
-        hour='0,6,12,18',  # 主触发小时
+        hour='23,5,11,17',  # 主触发小时
         minute='0-50/10',  # 每 10 分钟一次,覆盖 00:00-00:50
         timezone='Asia/Shanghai'  # 按需设置时区
     )
@@ -344,6 +347,31 @@ def configure_scheduler():
     except (KeyboardInterrupt, SystemExit):
         logger.info("⏹️ 定时任务已停止")
 
+
+@app.route('/pre_prod_ftp', methods=['POST'])
+def pre_prod_ftp():
+    # 获取程序开始时间
+    start_time = time.time()
+    result = {}
+    success = 0
+    args = {}
+    try:
+        target_job()
+        success = 1
+    except Exception as e:
+        my_exception = traceback.format_exc()
+        my_exception.replace("\n", "\t")
+        result['msg'] = my_exception
+        logger.info("生产文件下发ftp出错:{}".format(my_exception))
+    end_time = time.time()
+    result['success'] = success
+    result['args'] = args
+    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__":
     configure_scheduler()
-    # target_job()
+    from waitress import serve
+    serve(app, host="0.0.0.0", port=10118)

+ 1 - 0
run_all.py

@@ -4,6 +4,7 @@ import os
 services = [
     ("data_processing/data_operation/data_join.py", 10094),
     ("data_processing/data_operation/mysql_to_mongo.py", 10095),
+    ("data_processing/data_operation/pre_prod_ftp.py", 10118),
     ("data_processing/processing_limit_power/processing_limit_power_by_agcavc.py", 10086),
     ("data_processing/processing_limit_power/processing_limit_power_by_machines.py", 10087),
     ("data_processing/processing_limit_power/processing_limit_power_by_records.py", 10088),