test.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. from datetime import datetime, timedelta
  2. from multiprocessing import Pool
  3. import json
  4. import os
  5. import time
  6. import traceback
  7. import warnings
  8. from sqlalchemy import text, delete, and_, or_, update
  9. import pandas as pd
  10. from ZlwlAlgosCommon.utils.ProUtils import *
  11. from ZlwlAlgosCommon.service.iotp.IotpAlgoService import IotpAlgoService
  12. from ZlwlAlgosCommon.service.iotp.Beans import DataField
  13. from ZlwlAlgosCommon.orm.models import *
  14. from socdiag.V_1_0_0.SOCBatDiag import SocDiag
  15. # from LowSocAlarm.V1_0_0.low_soc_alarm import Low_soc_alarm
  16. def main(process_num):
  17. print('offline')
  18. def main2():
  19. while True:
  20. pass
  21. if __name__ == '__main__':
  22. if (True):
  23. try:
  24. # 配置量
  25. cur_env = 'dev' # 设置运行环境
  26. app_path = "/home/chenenze/zlwl-algos/" # 设置app绝对路径
  27. log_base_path = f"{os.path.dirname(os.path.abspath(__file__))}/log" # 设置日志路径
  28. app_name = "task_day_1_test_offline" # 应用名
  29. sysUtils = SysUtils(cur_env, app_path)
  30. logger_main = sysUtils.get_logger(app_name, log_base_path)
  31. logger_main.info(f"本次主进程号: {os.getpid()}")
  32. # 读取配置文件 (该部分请不要修改)
  33. processes = int(sysUtils.env_params.get("PROCESS_NUM_PER_NODE", '1')) # 默认为1个进程
  34. pool = Pool(processes = int(processes))
  35. logger_main.info("开始分配子进程")
  36. for i in range(int(processes)):
  37. pool.apply_async(main, (i, ))
  38. pool.close()
  39. logger_main.info("进程分配结束,堵塞主进程")
  40. pool.join()
  41. except Exception as e:
  42. print(str(e))
  43. print(traceback.format_exc())
  44. logger_main.error(str(e))
  45. logger_main.error(traceback.format_exc())
  46. finally:
  47. handlers = logger_main.handlers.copy()
  48. for h in handlers:
  49. logger_main.removeHandler(h)
  50. pool.terminate()