app_run.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. # -*- coding: utf-8 -*-
  2. # @Time : 2024/6/11
  3. # @Author : 魏志亮
  4. import os
  5. import sys
  6. from utils.conf.read_conf import yaml_conf, read_conf
  7. def get_exec_data(batch_no=None, read_type=None, run_count=1):
  8. if batch_no and read_type:
  9. data = get_data_by_batch_no_and_type(batch_no, read_type)
  10. if data is None:
  11. raise ValueError(f"未找到批次号:{batch_no},类型:{read_type}")
  12. else:
  13. data = get_batch_exec_data(run_count)
  14. if data is None:
  15. trans_print("当前有任务在执行")
  16. sys.exit(0)
  17. elif len(data.keys()) == 0:
  18. trans_print("当前无任务")
  19. sys.exit(0)
  20. return data
  21. def run(batch_no=None, read_type=None, save_db=True, run_count=1):
  22. data = get_exec_data(batch_no, read_type, run_count)
  23. exec_process = None
  24. if data['transfer_type'] in ['second', 'minute']:
  25. exec_process = MinSecTrans(data=data, save_db=save_db)
  26. if data['transfer_type'] in ['fault', 'warn']:
  27. exec_process = FaultWarnTrans(data=data, save_db=save_db)
  28. if exec_process is None:
  29. raise Exception("No exec process")
  30. exec_process.run()
  31. if __name__ == '__main__':
  32. env = 'dev'
  33. if len(sys.argv) >= 2:
  34. env = sys.argv[1]
  35. conf_path = os.path.abspath(f"./conf/etl_config_{env}.yaml")
  36. os.environ['ETL_CONF'] = conf_path
  37. yaml_config = yaml_conf(conf_path)
  38. os.environ['env'] = env
  39. run_count = int(read_conf(yaml_config, "run_batch_count", 1))
  40. from utils.log.trans_log import trans_print
  41. from service.plt_service import get_batch_exec_data, get_data_by_batch_no_and_type
  42. from etl.wind_power.fault_warn.FaultWarnTrans import FaultWarnTrans
  43. from etl.wind_power.min_sec.MinSecTrans import MinSecTrans
  44. trans_print("所有请求参数:", sys.argv, "env:", env, "最大可执行个数:", run_count)
  45. trans_print("配置文件路径:", os.environ.get("ETL_CONF"))
  46. run(run_count=run_count)