12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- # -*- coding: utf-8 -*-
- # @Time : 2024/6/11
- # @Author : 魏志亮
- import datetime
- import os
- import sys
- import traceback
- from utils.conf.read_conf import yaml_conf, read_conf
- def get_exec_data(batch_no=None, read_type=None, run_count=1):
- if batch_no and read_type:
- data = get_data_by_batch_no_and_type(batch_no, read_type)
- if data is None:
- raise ValueError(f"未找到批次号:{batch_no},类型:{read_type}")
- else:
- data = get_batch_exec_data(run_count)
- if data is None:
- trans_print("当前有任务在执行")
- sys.exit(0)
- elif len(data.keys()) == 0:
- trans_print("当前无任务")
- sys.exit(0)
- return data
- def run(data: dict = dict(), save_db=False, step=0, end=4):
- exec_process = None
- if data['transfer_type'] in ['second', 'minute']:
- exec_process = MinSecTrans(data=data, save_db=save_db, step=step, end=end)
- if data['transfer_type'] in ['fault', 'warn']:
- exec_process = FaultWarnTrans(data=data, save_db=save_db, step=step, end=end)
- if exec_process is None:
- raise Exception("No exec process")
- exec_process.run()
- if __name__ == '__main__':
- env = 'dev'
- if len(sys.argv) >= 2:
- env = sys.argv[1]
- conf_path = os.path.abspath(f"./conf/etl_config_{env}.yaml")
- os.environ['ETL_CONF'] = conf_path
- yaml_config = yaml_conf(conf_path)
- os.environ['env'] = env
- run_count = int(read_conf(yaml_config, "run_batch_count", 1))
- from utils.log.trans_log import trans_print
- from service.plt_service import get_batch_exec_data, get_data_by_batch_no_and_type
- from etl.wind_power.fault_warn.FaultWarnTrans import FaultWarnTrans
- from etl.wind_power.min_sec.MinSecTrans import MinSecTrans
- begin = datetime.datetime.now()
- data = dict()
- data['batch_code'] = 'xinhuashuidian'
- data['batch_name'] = '新华水电故障'
- data['transfer_type'] = 'fault'
- data['transfer_addr'] = r'D:\data\新华水电\收资数据\故障告警\汇能机组数据-故障'
- data['field_code'] = 'xinhuashuidian'
- data['field_name'] = '新华水电'
- try:
- run(data=data, save_db=False, step=0, end=3)
- except Exception as e:
- trans_print(traceback.format_exc())
- trans_print("执行结束,总耗时:", datetime.datetime.now() - begin)
|